【发布时间】:2020-01-08 09:08:45
【问题描述】:
我不是 Python 专家,我编写了一个脚本来比较两个文件(地震数据位置)。我写的很丑而且很慢。 有人有改进我的代码的想法吗?谢谢!
#!/usr/bin/env python
# -*- coding: utf-8 -*-
file_1 = 'Loc_1D.txt'
file_2 = 'Loc_3D.txt'
output_file = 'result_file.txt'
with open(file_1, "r") as f1:
for line1 in f1:
yr1, mth1, d1, hr1, m1, s1, lat1, lon1, z1, mag = line1.split()
time1 = [yr1, mth1, d1, hr1, m1]
with open(file_2, "r") as f2:
for line2 in f2:
yr2, mth2, d2, hr2, m2, s2, lat2, lon2, z2, *_ = line2.split()
time2 = [yr2, mth2, d2, hr2, m2]
with open(output_file, "w") as oup:
if time1 == time2 and abs(float(s1)-float(s2)) <= 2:
Event = [yr2, mth2, d2, hr2, m2, s2, lat2, lon2, z2, mag]
print (Event)
oup.write(str(Event))
【问题讨论】:
-
您正在为 file_1 中的每一行打开 file_2。将每个文件打开一次,然后将这些行解析为 2 个以时间为键的字典。
-
谢谢,我试了下,不行,只写了一行(我写在下面)
标签: python performance loops compare text-files