Python-读写文件
来源:互联网 发布:淘宝联盟优惠券链接 编辑:程序博客网 时间:2024/06/18 05:40
python
在写python 代码的过程,我发现在读写文件的过程中有的时候会出现点问题,所以还是想花点时间总结一下,加深一下自己的印象。
读文件
python 中可以用 内置的open()函数来打开一个文件。源码中是这样定义的
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
一般情况向,只需要考虑前面两个参数,也就是 file 和 mode,file 代表的是文件路径,mode指的是打开方式,默认是读方式打开,具体如下表:
示例(介绍比较常用的):
- 以读方式打开文件
#【英文】#第一种file = open('/Users/lionel/Downloads/english.txt')#第二种file = open('/Users/lionel/Downloads/english.txt','r')#【中文】file = open('/Users/lionel/Downloads/Chinese.txt', 'r')print(file)#控制台无显示,需要以二进制打开,下节会讲
- 以二进制形式打开
#【英文】# 以二进制读出,和以读方式读出区别在于开始处多一个 b 字符,标示着是二进制file = open('/Users/lionel/Downloads/english.txt','rb')#【中文】file = open('/Users/lionel/Downloads/Chinese.txt','rb')
中文以二进制打开的结果是:
b'\xe6\xa2\x85\xe8\xa5\xbf\xe6\x98\xaf\xe4\xbd\x8d\xe4\xbc\x9f\xe5\xa4\xa7\xe7\x9a\x84\xe8\xb6\xb3\xe7\x90\x83\xe8\xbf\x90\xe5\x8a\xa8\xe5\x91\x98\n'
想要表示为中文
file.read().decode('utf-8')
结果是:
梅西是位伟大的足球运动员
- 读一行文件
前面调用read()方法可以一次性读取所有内容,可以使用readline()一行一行地读取。
file = open('/Users/lionel/Downloads/Chinese.txt','rb')file.readline().decode('utf-8')
注意:
- 文件打开后,使用 close() 完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的。
- 由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try … finally来实现。
try: file = open('/Users/lionel/Downloads/Chinese.txt','rb') print(file.read().decode('utf-8'))finally: if file: file.close()
- 但是每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法:
with open('/Users/lionel/Downloads/Chinese.txt', 'rb') as file: print(file.read().decode('utf-8'))
写文件
写文件其实个读文件是类似的,唯一的区别在于调用的 python 的内置函数 open()函数,传入标识符’w’或者’wb’表示写文本文件或写二进制文件。然后调用 write ()向文件中写入内容。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。
output = open('output', 'wb')output.write(text)
由于写文件和读文件类似,在这里面就不详细介绍了,有兴趣的可以自己去了解。同样记住要执行 close()方法,建议直接使用 with 语句。
参考文件:python文件读写
0 0
- python--python读写文件
- Python读写Unicode文件
- python Ini文件读写
- Python读写文件
- Python读写文件
- Python读写ini文件
- Python读写文件
- Python读写文件
- Python文件的读写
- python读写文件
- python文件读写
- [Python]读写文件方法
- python 文件读写操作
- Python文件读写操作
- Python读写文件
- python之读写文件
- python读写文件
- python文件的读写
- PHP命名空间(Namespace)的使用详解
- 安全态势感知:一些哲学思考
- ORM原型概念
- 踹图_AC自动机
- DotNet加密方式解析--对称加密
- Python-读写文件
- 412. Fizz Buzz*
- Spring依赖注入:注解注入总结
- hdu 1512 左偏树
- Archive for required library: "xxxx" in project '*' cannot be read or is not a valid ZIP file
- 【JZOJ4934~4936】[17.1.12GDKOI模拟A题解]
- POJ1631——Bridging signals(动态规划)
- PHP底层的运行机制与原理
- 05-树8 堆中的路径 (25分)