python - 如何为多个输入文件运行相同的python代码
问题描述
我有两个包含相同数据(但值不同)的输出文件。我正在使用以下 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
解决方案
你可以这样做:
for label in 'upper', 'lower':
# Ask for filename, using the label.
# Process the file.
# Print the result, using the label.
推荐阅读
- html - 如何为具有不同标题的 div 设置相同的高度并响应每个移动屏幕
- java - 即使条件不成立,登录活动也会进入下一个活动
- javascript - 文本替换删除标签
- c# - Unity 中的 GraphQL 查询
- sql - 根据开始日期和月份持续时间拆分金额(在 SQL Server/SSASTabular/PowerBi 中)
- sql-server - 在 Windows 容器中使用集成安全性连接到 SQL Server
- android - React-Native [ANDROID] 深度链接“打开方式”重复项
- c++ - 差距算法代码有什么问题?(代码如下)
- javascript - CryptoJS AES 加密参数在解密时失败
- linux - 程序在 Linux 中找不到已安装的库