1.文件读写python
f = open('a.txt', 'r', encoding='utf-8') # 打开一个文件,不指定模式时,默认为r f = open('a.txt');须要使用f.close()关闭文件 # f = file('a.txt', 'r', encoding='utf-8') # python2中也能够用open,也能够用file打开文件 # 文件读出来时均为字符串格式 ''' 模式 对应方法 说明 r read() 表示只读模式;只能读不能写,打开不存在文件会报错 w write() 表示写入模式;只能写不能读,文件不存在会自动建立;会清空原来文件内容,进行写入;只能写入字符串 a write() 表示写入模式;只能写不能读,文件不存在时会自动建立;不会清空原来文件内容,可以追加写入 r+ read()/write() 表示读写模式;文件不存在时,会报错;能够写,但会从文件开头覆盖写入(由于文件指针在最前) w+ read()/write() 表示写读模式;可读可写,但读不出东西(由于已清空);文件不存在时,会自动建立;会清空原来文件内容,进行写入; a+ read()/write() 表示追加读模式;可读可写,但读不出东西(由于文件指针在最后);文件不存在时,会自动建立;不会清空原来文件内容,可以追加写入 ''' with open('a.txt') as file: # 打开文件,此方式不用关闭文件,会自动关闭;file为一个文件对象 file.read() with open('a.txt') as file1, open('b.txt', 'w') as file2: # 打开多个文件 file1.read() with open('a.txt') as file: # 读取大文件时,能够用采用循环一行一行读取 for line in file: # 循环文件对象(file)便是一行一行读取 print(line)
f.read() # 读文件所有内容,读到的内容为一整个字符串 f.read(1024) # 读文件中1024大小的内容 f.readline() # 读文件一行内容,读到的内容为一个字符串 f.readline(5) # 读5行 f.readlines() # 读文件所有内容,读到的内容为一个列表
2.文件指针json
''' 存在文件指针,当文件读取过一次后,文件指针会相应后移 例如:先执行read再执行readline会读不出东西 read文件指针在最前面,a由于是追加写入,因此文件指针在最后 关闭再打开,文件指针位置会重置 使用seek可以将文件指针移动到最前方,能够实现可读可写并可以读出文件内容的操做 ''' f.seek(0) # 表示将文件指针移动到文件最前方
3.其余方法编码
l = ['123', '234', '456'] a = 'string' f.tell() # 查看文件指针的位置 f.write(a) # 写入字符串,如果多个需:write(a+b) f.writelines(l) # 传入一个list,将list中的每个元素写入文件中,不光是列表,只要是能够循环的均可以 f.truncate() # 将文件内容从文件指针的位置开始删除 f.read().replace('S', 's') # 将文件中的S替换成s f.flush() # 将缓冲区的内容当即写入文件 import os # 系统包 os.remove('a.txt') # 删除a.txt文件 os.rename('b.txt', 'a.txt') # 将b.txt文件重命名为a.txt
4.json模块spa
import json # 导入json模块 d={'zhangsan':18,'lisi':20,'wangwu':30,'张三':1} open('user1.json','a+',encoding='utf-8') # 使用json后缀可以使文件中的json串有颜色,更好看 json.dumps(d) # 将字典转成json串格式的字符串 json.dumps(d,indent=2) # indent表示格式化json串,2表示每行前面空两格 json.dumps(d,indent=2,ensure_ascii=False) # ensure_ascii=False表示有中文时,不要将中文显示成编码 json.dump(d,f,indent=2,ensure_ascii=False) # f为一个文件,dump可以自动将字典d,写入f文件中 # 想将字典写入文件时,能够先使用json.dumps()将字典转化成json格式的str字符串,就能够使用write写入文件 json.loads(f) # 读取json格式的str字符串,转化为字典类型 # 想要对文件中读出的json串格式的字符串使用字典的一些方法时,能够使用json.loads()方法 json.load(f) # f为一个文件,load可以读取json文件,并转换成字典;文件中只能有一个json字符串,不然会报错 # load方法能够直接从文件读,加载到Python的变量中,并以字典的格式转换。而loads必须对于Python内存中的序列化对象转换成字符串