用Python时,一般都会有满满的幸福,但是读写文件内容的时候,每次都会怀念Java或C#, nodejs等 里面的标准库,一行代码读(或写)文件内容!
现在,我们标准库中终于有了pathlib(3.4版开始),废话不多说了,看示例:
from pathlib import Path
Path('your_text_file').write_text('不再怀念其它语言,最爱Python,哈哈', encoding='utf-8')
Path('your_text_file').read_text(encoding='utf-8')
有读者大大会说我用 open('your_text_file',encoding='utf-8').read() 也可以,开始时,我怀疑如果不用with的话,open打开的文件句柄,需要到进程结束时才能关闭,不过刚才在windows上测试,发现如果open打开的句柄,没有被变量引用的话,这样读文件是安全的。
聪明的读者大大可能会想到,那我用open('your_text_file',encoding='utf-8',mode='w+').write('要保存的内容'),是不也可以呢?
可惜不行,因为写入的时候,如果不关掉句柄,也不调用flush,文件是不会立即保存的。
所以,记住用Path,一次性解决句柄打开和关闭的问题:)
pathlib的功能不止于此,它实际是通过pep 428的提案引入的:目的是在标准库中创建一个“面向对象的的文件系统路径”。
具体的内容,可以参见:
https://docs.python.org/dev/library/pathlib.html
中文版地址: