读写格式
with open('文件名','读写方式',encoding="utf-8)as f :
读写方式:
- w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
- w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
- wb 只写方式打开或新建一个二进制文件,只允许写数据。
- wb+ 读写方式打开或建立一个二进制文件,允许读和写。
- r 打开只读文件,该文件必须存在,否则报错,并将文件指针指向文件头
- r+ 打开可读写的文件,该文件必须存在,否则报错。
- rb+ 读写方式打开一个二进制文件,只允许读写数据。
- a 以只追加可写模式打开文件,并将文件指针指向文件尾部;如果文件不存在则创建
- a+ 在a的基础上增加了可读功能
encoding:
- 以当初编辑这个文件的编码格式来打开,以什么编码方式储存文件的,就要以什么方法打开文件
写入内容:
f.write("// {}\n".format(xi))#按行写
context = f.read()
print(context)
f.close(
import pickle
pickle.dump(data,f)#按行写
#准备要序列化的数据
n = 7
i = 13000000
a = 99.056
s = '中国人民 123abc'
lst = [[1,2,3],[4,5,6],[7.8,9]]
tu = (-5,10,8)
coll = {4,5,6}
dic = {'a':'apple','b':'banana','g':'grape','o':'orange'}
aa = 'c'
#以写模式打开二进制文件
f = open('sample_pickle.dat','wb')
try:
pickle.dump(n,f) #对象个数
pickle.dump(i,f) #写入整数
pickle.dump(a,f) #写入实数
pickle.dump(s,f) #写入实数
pickle.dump(lst,f) #写入列表
pickle.dump(tu,f) #写入元组
pickle.dump(coll,f) #写入集合
pickle.dump(dic,f) #写入字典
except:
print('写文件异常')
finally:
f.close()
#看一下文件内容,已经写入成功。
因为文件读写时都有可能产生IO错误(IOError),一旦出错,后面包括f.close()在内的所有代码都不会执行了。因此我们要保证文件无论如何都能被关闭。那么可以用try…finally来实现,无聊怎样都会执行finally
f = ''
try:
f = open('song.txt', 'r', encoding='utf-8')
print(f.read())
num = 10 / 0
finally:
print('>>>>>>finally')
if f:
f.close()
文件读取相关方法
Python3中read(size)方法的size参数指定的要读取的字符数,这与文件的字符编码无关,就是返回12个字符