1.1 打开文件
- 函数open():将文件名作为唯一必不可少参数,返回一个文件对象。
>>> f = open('somefile.txt')
- 文件模式
| 值 | 描述 |
|---|---|
'r' |
读取模式 |
'w' |
写入模式 |
'x' |
独占写入模式 |
'a' |
附加模式 |
'b' |
二进制模式(与其他模式结合使用) |
't' |
文本模式(默认值,与其他模式结合使用) |
'+' |
读写模式(与其他模式结合使用) |
- 显示的指定都区模式效果与根本不指定模式相同。
- 写入模式('w')能够写入文件,并在文件不存在时创建文件。在该模式下打开文件时,既有内容将被删除(截断),并从文件开头处开始写入;如果要在既有文件末尾继续写入,可使用附加模式('a')。
- 独占写入模式(‘x’)会在文件已经存在时,引发(FileExistsError异常)。
- 读写模式('+')可与其他模式结合起来使用,表示即可读取也可写入。
-
管道重定向输出
- 在bash等shell中
$ cat somefile.txt | python somescript.py | sort
cat somefile.txt:将文件somefile.txt的内容写入到标准输出(sys.stdout)
python somescript.py: 从其标准输入中读取,并将结果写入到标准输出。
sort: 读取标准输入(sys.stdin)中所有文本,将各行按字母顺序排序,并将结果写入到标准输出。
-
随机存取
seek(offset[, whence]):将当前位置(执行读取或写入的位置)移动到offset和whence指定的地方。参数offset指定字节(字符)数,而参数whence默认为io.SEEK_SET(0),意味着偏移量是相对于文件开头的(偏移量不能为负数)。
tell(): -
读取和写入
readline():读取一行
readlines():读取文件中所有行,并以列表形式返回。 -
关闭文件
close():程序退出时将自动关闭文件对象。可避免用完系统可能指定的文件打开配额。
对于写如果的文件,一定要关闭,因为python可能缓冲你写入的数据(将数据暂时存储在某个地方以提高效率)。因此程序因某种原因奔溃,数据不会写入到文件中。
要确保文件关闭,可以使用一条try/finally语句。
#在这里打开文件
try:
#将数据写入到文件中
finally:
file.close()
with语句效果同上,打开文件并将其赋给一个变量。在语句体中,将数据写入文件。到达语句末尾时,将自动关闭文件,即便异常也如此。
with open('somefile.txt') as somefile:
do_something(somefile)
浙公网安备 33010602011771号