>>f" />
发布时间:2019-09-18 07:27:56编辑:auto阅读(1591)
在Python中读写文件不需要像Java或.Net一样要另外导入io"包",可直接使用open方法
open() 返回一个文件对象,并且通常使用两个参数:open(filename, mode)
>>>f = open('youfile', 'w')
第一个参数:包含文件名的字符串
第二个参数:包含怎么使用这个文件的描述
有以下几种模式:
r:只读(默认)
w:只写(不存在则创建,存在则先清空)
x:创建新文件并打开设置可写权限
a:打开文件并设置可写权限,向文件最后追加内容
b:以二进制读取文件,以字节对象读写数据,用于操作不包含文本的文件
t:文本模式(默认)
+:为更新而打开一个硬盘文件(可读写)
r+:可读可写
一般情况下,文件是以文本模式被打开,这意味着,你可以指定编码的对文件进行读写,如果没有指定就默认使用平台编码(具体查看open())
在文本模式中,读取文件被默认的转换到平台指定的换行符\n(Unix:\n,Windows:\r\n)
在写模式中,\n被转换为平台指定的换行符
对于文本文件修改还好,但是像JPEG或EXE文件会被破坏,所以在使用二进制模式读写这类文件时一定要小心。
在读写文件时要考虑很多意外的情况,如,没有找到要打开的文件就会抛异常(r模式):
>>> open('f.txt', 'r') Traceback (most recent call last): File "<stdin>", line 1, in <module> IOError: [Errno 2] No such file or directory: 'f.txt'
所以在读文件时要对异常进行处理:
try: f = open('myfile.txt') s = f.readline() i = int(s.strip()) except OSError as err: print("OS error: {0}".format(err)) except ValueError: print("Could not convert data to an integer.") except: print("Unexpected error:", sys.exc_info()[0]) raise
本文参考官网.
上一篇: python xml转成dict
下一篇: python 初次使用twisted
48914
48008
38777
35910
30330
27104
26115
20949
20773
19129
634°
714°
683°
683°
655°
623°
716°
772°
908°
1095°