文件——打开文件
为打开文件,程序调用内置 open
函数,首先是外部文件名,接着是处理模式。调用返回文件对象,它反过来拥有用于数据传输的方法:
afile = open(filename, mode)
afile.method()
open
的第一个参数,外部文件名,可能包含特定平台的和绝对或相对目录路径前缀。没有目录路径,文件就假设存在于当前工作目录(也就是:脚本运行的地方)。在第 37 章的扩展文件的讲述中会看到:文件名可能还包含非 ASCII Unicode 字符(Python 自动地在其和底层平台的编码之间相互转换)或作为一个预编码的字节字符串而提供。
open
的第二个参数,处理模式,通常是字符串 'r' 来为文件输入打开(默认值),w
用来创建和打开文件输出,或 a
用来打开对末尾添加文本(比如向日志文件添加)。处理模式参数可以指定额外的选项:
- 给模式字符串添加
b
允许二进制数据(行尾翻译和 3.X 的 Unicode 编码被关闭) - 为同时输入和输出,添加
+
来打开文件(即是:可以对同一个文件对象同时输入和输出,通常和查找操作一起来在文件中重定位)。
open
的前两个参数都必须是 Python 字符串。可选的第三参数可用来控制输出缓冲 —— 传 0 代表输出未被缓冲(在写方法调用后立刻被传输到外部文件上),且额外的参数可用来提供特殊的文件类型(比如,3.X 中用于 Unicode 文本文件的编码)。
这里将讲述文件基础并探索一些基础例子,但不会仔细研究所有的文件处理模式选项;同往常一样,要获取额外细节请参阅 Python 库手册。