python (五、文件操作并发进程以及常用系统模块)

主要内容有:

文本文件读写

open的参数

f = open(‘test.txt‘, ‘r‘, encoding=‘utf-8‘) # r = read, w = write, a = append, b = binary, +表示文件不存在就创建

    文件名  方式    编码方式(有时候需要写,有时不需要写)

(与此文件在同一个目录下)

texts = f.read()
print(texts)
f.close() 文件关闭

# w+覆盖文件重新写入

f = open(...)
try:
  do sth
except:
  pass
finally:
  if f:
    f.close()

使用with简化异常处理

with open(‘sample.txt‘, ‘r‘) as f:
  line = f.readline()
  while line:
    print(line.strip())
    line = f.readline()

with open(‘sample.txt‘, ‘r‘) as f:
  for line in f.readlines():
    print(line.strip())

文件内容读取

自己实现readlines功能

texts = [‘New line #1 hello python‘, ‘Line #2 first to learn‘]
with open(‘new_sample.txt‘, ‘w‘) as f:
  for text in texts:
    f.write(text + ‘\n‘) #每写入一行,自己手写换行符
with open(‘new_sample.txt‘, ‘a‘) as f:
  f.write(‘Something new\n‘)

json与CSV文件操作

json 的文件的字符串一定要 用双引号括住

dump把字典写入json文件

json.loads与json.dump都可以复制

import json

# 模拟dumps的实现
def json_dumps(di): # 回去自己实现带嵌套的情况
  s = ‘{\n‘
    lines = []
  for k, v in di.items():
    _s = ‘"‘ + k + ‘": ‘
    if t·ype(v) != list:
      _s += ‘"‘ + str(v) + ‘"‘
    else:
      items = [‘"‘ + i + ‘"‘ for i in v]
      _s += ‘[‘ + ‘, ‘.join(items) + ‘]‘
    lines.append(_s)
  s += ‘,\n‘.join(lines)
  s += ‘\n}‘
  return s

config = {‘ip‘: ‘192.168.1.1‘, ‘port‘: [‘9100‘, ‘9101‘, ‘9102‘]}
print(json_dumps(config))

# 模拟dumps的实现
def json_dumps(di): # 回去自己实现带嵌套的情况
  s = ‘{\n‘
  lines = []
  for k, v in di.items():
    _s = ‘"‘ + k + ‘": ‘
    if type(v) != list:
      _s += ‘"‘ + str(v) + ‘"‘
    else:
      items = [‘"‘ + i + ‘"‘ for i in v]
    _s += ‘[‘ + ‘, ‘.join(items) + ‘]‘
    lines.append(_s)
  s += ‘,\n‘.join(lines)
  s += ‘\n}‘
  return s
;

config = {‘ip‘: ‘192.168.1.1‘, ‘port‘: [‘9100‘, ‘9101‘, ‘9102‘]}
print(json_dumps(config))

csv文件的读取

import csv

序列化及应用(不太懂)

import pickle

多进程与多线程

Python没有线程ID这个概念,只好提出了线程名字。

# 多进程
from multiprocessing import Process
import os

# 多线程
import time, threading

进程池与线程池

在notebook里运行显示不出来,放在DOS窗口运行

# 进程池
from multiprocessing import Pool
import os, time, random

# 多线程的应用
def top3(data):
  data.sort()
  temp_result[threading.current_thread().name] = data[-3:]

data_set = [[1, 7, 8, 9, 20, 11, 14, 15],
      [19, 21, 23, 24, 45, 12, 45, 56, 31],
      [18, 28, 64, 22, 17, 28]]
temp_result = {} #全局变量
threads = []
for i in range(len(data_set)):
  t = threading.Thread(target=top3, name=str(i), args=(data_set[i], ))
  threads.append(t)
for t in threads:
  t.start()
for t in threads:
  t.join()
result = []
for k, v in temp_result.items():
  result.extend(v)
  result.sort()
print(result[-3:])

数据共享与锁

# 锁
import threading

lock = threading.Lock()

系统库

后面的东西比较难理解,多学多练

原文地址:https://www.cnblogs.com/qianyuesheng/p/8435728.html

时间: 2024-10-01 20:19:36

python (五、文件操作并发进程以及常用系统模块)的相关文章

python(五)文件操作

1.打开文件 f = open('db','r')   #只读 f = open('db','w')   #只写,先清空原文件 f = open('db','x')   #文件存在,报错,不存在,创建并只写 f = open('db','a')   #追加 所有后边加b的,都是以字节的方式打开文件,不需要python帮助转换成字符串类型.如:ab.rb.wb.xb f = open("db","ab") #当以字节的方式打开时,往文件中写入的时候也要用写入字节,写字

python中文件操作的其他方法

前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r',encoding='utf-8')for i in p:print(i)结果如下: hello,everyone白日依山尽,黄河入海流.欲穷千里目,更上一层楼. 1.readline   #读取一行内容 p=open('poems','r',encoding='utf-8') print(p.rea

python(5)——文件操作

python文件操作 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 1 f=open('users.txt','r') #打开文件, 默认为只读模式 2 res = f.read()#读取文件内容 3 print(res) 4 f.close()#关闭文件 (一)打开文件 f=open('users.txt','r',encoding='utf-8') #默认为只读模式   with使用:在操作文件的时候,经常忘了关闭文件,这样

python之文件操作-复制、剪切、删除等

下面是把sourceDir文件夹下的以.JPG结尾的文件全部复制到targetDir文件夹下: <span style="font-size:18px;">>>>import os >>> import os.path >>> import shutil >>> def copyFiles(sourceDir,targetDir): for files in os.listdir(sourceDir):

Python开发【第三章】:Python的文件操作

Python的文件操作 一.读取操作,3种读取方式的区别 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian info_file = open("here_we_are",encoding="utf-8") #默认读取模式 print(info_file) #不加参数,直接打印 #<_io.TextIOWrapper name='here_we_are' mode='r' encoding='u

重学Python - Day 05 - python基础 -&gt; python的文件操作:r、w、a、r+、a+ 、readline、readlines 、flush等常用的文件方法

文件的读操作 示例: 1 print("->文件句柄的获取,读操作:") 2 3 f = open('无题','r',encoding='utf8') 4 d = f.read() 5 f.close() 6 print(d) 7 8 print('->例二:') 9 f = open('无题','r',encoding='utf8') 10 e = f.read(9) 11 f.close() 12 print(e) 13 #python3中,文件中一个中英文都占位1 运

Python中文件操作

一.文件打开操作 1.文件操作步骤: (1)打开文件模式: f =open("db",'a')    #文件追加 f = open("db",'r')    #只读操作(默认模式) f = open("db",'w')    #只写操作,会先清空原文件 f = open("db",'x')    #文件存在,会报错,不存在创建并只写 f = open("db",'rx|a|w')  #以二进制的方式只读或只

Python 读写文件操作

python进行文件读写的函数是open或file file_handler = open(filename,,mode) Table mode 模式 描述 r 以读方式打开文件,可读取文件信息. w 以写方式打开文件,可向文件写入信息.如文件存在,则清空该文件,再写入新内容 a 以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建 r+ 以读写方式打开文件,可对文件进行读和写操作. w+ 消除文件内容,然后以读写方式打开文件. a+ 以读写方式打开文件,并把文件指

Python入门-文件操作

今天我们来了解一下关于文件操作的相关内容 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开1个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. 根据打开方式的不同能够执行的操作也会有相应的差异. 打开文件的方式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默认使用的是r(只读)模式 二.只读模式(r,rb) f = open("护士少妇嫩模.txt",mode=&qu