kup*_*gov 4 python file-io list-comprehension contextmanager python-3.x
给出文件名列表filenames = [...].
是否可能重写I/O安全的下一个列表理解:[do_smth(open(filename, 'rb').read()) for filename in filenames]?使用with语句,.close方法或其他东西.
另一个问题是:是否可能为下一个代码编写I/O安全列表理解?
results = []
for filename in filenames:
with open(filename, 'rb') as file:
results.append(do_smth(file.read()))
Run Code Online (Sandbox Code Playgroud)
您可以将with语句/块放到函数中并在列表解析中调用它:
def slurp_file(filename):
with open(filename, 'rb') as f:
return f.read()
results = [do_smth(slurp_file(f)) for f in filenames]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
119 次 |
| 最近记录: |