首页 > 解决方案 > 在python中将文件1中的值分配给文件2

问题描述

我有两个文本文件。文本文件 1:0=0.345,1=34.5,2=54.6,3=235.67 文本文件 2:(0+2)*(3+2)

是否有 python 操作将文本文件 1 中的相应数字分配给文本文件 2?我正在文本文件 2 中进行计算 谢谢!

标签: pythonfileparsingtext

解决方案


假设两个文件中的数据与您提供的数据相似,您可以将第一个文件中的分配存储在字典中,然后将它们映射到第二个文件中的等式中。

with open("file1.txt", "r") as f:
    file1 = f.read() # file1 = "0=0.345,1=34.5,2=54.6,3=235.67"
with open("file2.txt", "r") as f:
    file2 = f.read() # file2 = "(0+2)*(3+2)"

variables = {}
for equation in file1.split(","):
    var, value = equation.split("=")
    variables[var] = value
# variables = {'0': '0.345', '1': '34.5', '2': '54.6', '3': '235.67'}

operation = [variables.get(letter, letter) for letter in file2]
exec("result = " + "".join(operation)) # result = (0.345+54.6)*(235.67+54.6)
print(result) # 15948.885149999998

推荐阅读