我有两个文件,我想在它们两个上执行一些按行操作.(换句话说,每个文件的第一行与第二行相对应,等等.)现在,我可以想到一些稍微麻烦的方法来同时迭代这两个文件; 然而,这是Python,所以我想有一些句法简写.
换句话说,是否有一些简单的方法来适应
for line in file:
Run Code Online (Sandbox Code Playgroud)
这样它可以同时从两个文件中提取数据?
Dan*_*man 37
使用itertools.izip加入了两个迭代器.
from itertools import izip
for line_from_file_1, line_from_file_2 in izip(open(file_1), open(file_2)):
Run Code Online (Sandbox Code Playgroud)
如果文件长度不等,请使用izip_longest.
你可以试试
for line1, line2 in zip(file1, file2):
#do stuff
Run Code Online (Sandbox Code Playgroud)
但是要小心,当较短的文件结束时,此循环将退出.
使用Python 2时,itertools.izip对于这类事情更好,因为它不会创建list.
| 归档时间: |
|
| 查看次数: |
11710 次 |
| 最近记录: |