python - 如何与python并行读取两个文件?
问题描述
我有两个非常长的文件(超过 100 万行),它们的行数完全相同,并且行彼此逐行对应。我想逐行并行读取这两个文件,并根据行的内容编写一个新文件。
更具体地说,第一个文件看起来像
<text id="Jamilja03" title="Жамиля" title_english="Jamilja" year="1959" genre="novelette" author="Chyngyz Aitmatov>
<s>
Жамийла
Ар
дайым
бир
жакка
жол
жүрөрдө
,
мен
ушул
алкагы
жөнөкөй
жыгачтан
жасалган
сүрөттүн
алдына
келип
турам
.
</s>
第二个文件看起来像
<^text/*text$ ^id/*id$=^"/"<quot>$^Jamilja03/*Jamilja03$^"/"<quot>$ ^title/*title$=^"/"<quot>$^Жамиля/*Жамиля$^"/"<quot>$ ^title/*title$_^englis/*english$=^"/"<quot>$^Jamilja/*Jamilja$^"/"<quot>$ ^year/*year$=^"/"<quot>$^1959/1959<num>$^"/"<quot>$ ^genre/*genre$=^"/"<quot>$^novelette/*novelette$^"/"<quot>$ ^author/*author$=^"/"<quot>$^Chyngyz/Chyngyz<np><unk>$ ^Aitmatov/*Aitmatov$>
<^s/*s$>
^Жамийла/*Жамийла$
^Ар дайым/ар дайым<adv>$
^бир/бир<num>$
^жакка/жак<n><dat>$
^жол/жол<adv>$
^жүрөрдө/жүр<v><iv><ger_fut><loc>$
^,/,<cm>$
^мен/мен<prn><pers><p1><sg><nom>$
^ушул/ушул<det><dem>$
^алкагы/алкак<n><px3sp><nom>$
^жөнөкөй/жөнөкөй<adj>$
^жыгачтан/жыгач<n><abl>$
^жасалган/жаса<v><tv><pass><prc_past>$
^сүрөттүн/сүрөт<n><gen>$
^алдына/алд<n><px3sp><dat>$
^келип/кел<v><iv><prc_perf>$
^жүрөрдө/жүр<v><iv><ger_fut><loc>$
^,/,<cm>$
^мен/мен<prn><pers><p1><sg><nom>$
^ушул/ушул<det><dem>$
^алкагы/алкак<n><px3sp><nom>$
^жөнөкөй/жөнөкөй<adj>$
^жыгачтан/жыгач<n><abl>$
^жасалган/жаса<v><tv><pass><prc_past>$
^сүрөттүн/сүрөт<n><gen>$
^алдына/алд<n><px3sp><dat>$
^келип/кел<v><iv><prc_perf>$
^турам/тур<vaux><aor><p1><sg>$
^./.<sent>$
<^///<sent>$^s/*s$>
我想一般使用第二个文件中的行(进行一些重新格式化),但要在某些行中保留 XML 标记,其中包含来自第一个文件的 XML 标记的 XML 标记。
一种天真的方法,例如
for line_a in file_a and line_b in file_b:
不适用于python。
已经有一个类似标题的问题,即如何在 python 中逐行并行读取两个文件,但建议的答案(将一个文件读入列表或字典)不适合我的任务。我真的很想从这两个文件中读取这些行,然后决定进一步处理,然后忘记它们。
解决方案
使用zip
已经是生成器的文件:
for la, lb in zip(file_a, file_b):
...
推荐阅读
- javascript - 如何在`useEffect`中查看类对象值
- ruby - Minitest/Capybara 下拉菜单定位器问题
- google-apps-script - Google Script 作为 webhook 接收器
- python-3.x - 如何重新采样正在使用 wavfile.read 读取的 .wav 声音文件?
- c++ - 如何加快此程序以找到斐波那契数列
- javascript - javascript 逻辑运算符在字符串中
- java - Apache POI 支持“工作表视图”
- c# - 删除字符串的转义字符
- system-verilog - SystemVerilog中可变宽度的位切片
- css - Angular中基于模块的样式