第一个参数是包含文件名的字符串。第二个参数是另一个字符串,其中包含一些描述文件使用方式的字符。mode 可以是 'r'
,表示文件只能读取,'w'
表示只能写入(已存在的同名文件会被删除),还有 'a'
表示打开文件以追加内容;任何写入的数据会自动添加到文件的末尾。'r+'
表示打开文件进行读写。mode 参数是可选的;省略时默认为 'r'
。
在文本模式下读取时,默认会把平台特定的行结束符 (Unix 上的 \n
, Windows 上的 \r\n
) 转换为 \n
。在文本模式下写入时,默认会把出现的 \n
转换回平台特定的结束符。这样在幕后修改文件数据对文本文件来说没有问题,但是会破坏二进制数据例如 JPEG
或 文件中的数据。请一定要注意在读写此类文件时应使用二进制模式。
如果你没有使用 关键字,那么你应该调用 f.close()
来关闭文件并立即释放它使用的所有系统资源。如果你没有显式地关闭文件,Python的垃圾回收器最终将销毁该对象并为你关闭打开的文件,但这个文件可能会保持打开状态一段时间。另外一个风险是不同的Python实现会在不同的时间进行清理。