【发布时间】:2021-04-19 11:58:50
【问题描述】:
我有两个包含相同数据(但值不同)的输出文件。我正在使用以下 Python 代码来读取它们并返回我想要的数据/值:
upper = input("Enter file name (upper): ")
lower = input("Enter file name (lower): ")
fhr = open(upper)
for line in fhr:
word = line.rstrip().split()
if len(word) > 1 and word[1] == '1:47':
try:
sabs = word[2]
except:
continue
tot_upper = float(sabs)
print('Total upper:', tot_upper)
fhr.close()
fhr = open(lower)
for line in fhr:
word = line.rstrip().split()
if len(word) > 1 and word[1] == '1:47':
try:
sabs = word[2]
except:
continue
tot_lower = float(sabs)
print('Total lower:', tot_lower)
fhr.close()
这给了我输出:
Total upper: x
Total lower: y
有没有办法可以简化代码,例如打开第一个文件,运行代码,然后循环回到开头,打开第二个文件并运行相同的代码?像这样的:
upper = input("Enter file name (upper): ")
lower = input("Enter file name (lower): ")
file = [upper, lower]
for inp in file:
fhr = open(file)
for line in fhr:
word = line.rstrip().split()
if len(word) > 1 and word[1] == '1:47':
try:
sabs = word[2]
except:
continue
if inp == upper:
tot_upper = float(sabs)
print('Total upper:', tot_upper)
elif inp == lower:
tot_lower = float(sabs)
print('Total lower:', tot_lower
fhr.close()
我仍然想要相同的输出:
Total upper: x
Total lower: y
【问题讨论】: