![](https://img-blog.csdnimg.cn/2020031422105163.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Vzc3RtaXJhY2xl,size_16,color_FFFFFF,t_70)
文件是数据的抽象和集合
- 文本方式和二进制方式是文件的两种不同展示方式
- 文本方式采用统一的编码解释文件,二进制方式采用字节解释文件
- Python语言的文件使用理念与其他语言一致,如c语言。
![](https://img-blog.csdnimg.cn/20200315090443302.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Vzc3RtaXJhY2xl,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20200315090526606.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Vzc3RtaXJhY2xl,size_16,color_FFFFFF,t_70)
文件的打开:
![](https://img-blog.csdnimg.cn/20200315090901488.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Vzc3RtaXJhY2xl,size_16,color_FFFFFF,t_70)
文件路径:
![](https://img-blog.csdnimg.cn/20200315091010548.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Vzc3RtaXJhY2xl,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20200315091053775.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Vzc3RtaXJhY2xl,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20200315091120183.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Vzc3RtaXJhY2xl,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20200315091210476.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Vzc3RtaXJhY2xl,size_16,color_FFFFFF,t_70)
处理英文时可以不加编码方式,但是处理中文是需要加encoding编码方式。
文件的关闭:
变量名.close() #变量名是文件句柄。
![](https://img-blog.csdnimg.cn/20200315091509976.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Vzc3RtaXJhY2xl,size_16,color_FFFFFF,t_70)
#文本形式打开文件
tf = open("f.txt","rt",encoding="utf-8") #以文本方式打开文件,一般包含中文
print(tf.readline())
tf.close()
二进制形式打开文件
bf = open("f.txt","rb") #二进制方式读取文件
print(bd.readline())
bf.close()
文件内容的读取:
![](https://img-blog.csdnimg.cn/20200315091621284.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Vzc3RtaXJhY2xl,size_16,color_FFFFFF,t_70)
注意:read()函数与readline()函数参数的size,
- 以文本方式打开时,表示的是读入字符的数量,
- 以二进制方式打开时,表示的是读入字节的数量。
文件的全文操作
方法一:一次读入,统一处理(推荐)
注意:这样的方式读入的文件大小是受限制的,一般最大为几兆M,一次性将文件读入到内存,会更加的迅速。
fi = open(file_name,"r")
txt = fi.read() #读入后,对全文txt进行处理
fi.close()
方法二:按数据读入,逐步处理
fi = open(file_name,"r")
txt = fi.read(20) #从文件中先读入20个字符
while txt != "": #每次读入20个字符,然后来处理。适用于处理大数据文件。
#对txt进行处理
txt = fi.read(20)
fi.close()
文件的逐行操作:
方法一:一次读入,分行处理
fi = open(file_name."r")
for line in fi.readlines(): #将文件读入并将每一行当一个元素,形成列表。然后使用循环
#对line进行处理
fi.close()
方法二:分行读入,逐行处理(推荐)
fi = open(file_name."r")
for line in fi:
#对line进行处理
fi.close()
数据的文件写入:
f
fo = open("output.txt","w+")
ls = ["中国","法国","美国"]
fo.writelines(ls) #写入内容,此时文件的指针位置在文件结尾处
fo.seek(0)
for line in fo:
print(line)
fo.close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)