廖雪峰读书笔记_文件读写总结_2016_12_23
1.常见问题:写入文件只能写入一行
在循环中将内容写入文件,但是代码在第一次循环中将文件关闭了,所以后边的写不进去
文件读写可能产生IOError为了保证无论是否出错都能正确地关闭文件,我们可以使用try ... finally
来实现:
ft
=
open
(
"a"
,
'w'
)
for
entry
in
result :
print
entry
try
:
ft.write(entry
+
'\n'
)
except
:
pass
ft.close()
#在内容写完后再关闭文件
2.with方法:
with open('/path/to/file','r') as f:
print f.read()
3.如果文件很小,
read()
一次性读取最方便;如果不能确定文件大小,反复调用read(size)
比较保险;如果是配置文件,调用readlines()
最方便:for line in f.readlines():
print(line.strip()) # 把末尾的'\n'删掉
注释:
strip
函数原型:s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
声明:s为字符串,rm为要删除的字符序列
当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')
4.把两个路径合成一个时,不要直接拼字符串,而要通过os.path.join()
函数,这样可以正确处理不同操作系统的路径分隔符。在Linux/Unix/Mac下,os.path.join()
返回这样的字符串:
part-1/part-2
而Windows下会返回这样的字符串:
part-1\part-2
5.要拆分路径时,也不要直接去拆字符串,而要通过os.path.split()
函数,这样可以把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名:
os.path.splitext()
可以直接让你得到文件扩展名
# 对文件重命名:
os.rename('test.txt', 'test.py')
删掉文件:
os.remove('test.py')
得其时横刀天下,不得其时蓬头而行