我经常使用下面的两个函数将文件的内容读取到字符串并将字符串写入文件。据我所知,Python 标准库中不存在这些函数,我很好奇为什么。具有高级目录和文件操作的标准库模块shutil没有此功能,我确信这是一个明确的设计选择,不包含它。即我想知道以下内容:
- 没有将其包含在 Python 标准库中的潜在原因是什么
- 以这种方式处理文件是否有任何缺点(假设一个人知道整个文件内容将被加载到内存中)
职能
def read_file(path):
with open(path) as f:
return f.read()
def write_file(path, data):
with open(path, 'wb') as f:
return f.write(data)
为了澄清,我发现以下内容更具可读性
write_file('/tmp/test', 'test')
然后是以下两种选择:
open('/tmp/test', 'wb').write('test')
with open('/tmp/test', 'wb') as f:
f.write(data)