Python程序将值存储在外部文件中

0 投票
2 回答
5748 浏览
提问于 2025-04-18 15:09

我想知道怎么写一个Python程序,把一些数值(比如:苹果=3,香蕉=5,胡萝卜=12.5)存到一个外部文件里,以便以后可以用这些数值进行计算。

现在,我可以使用fileinput和fileoutput来打印和读取文本文件,但我还不能把这些数值用在后面的计算中。

with open("values.txt","w") as fileinput:
    fileinput.write(value)

我想要的一个例子是,首先能够输入一个变量名(比如:苹果),然后输入一个数字或其他值(比如:3.3),最后把这些值打印到一个叫values.txt的文件里。这样,另一个程序就可以查看values.txt,从而在计算中使用苹果=3.3的值(比如:苹果*3=9.9)。

2 个回答

0

你说的“但我无法在后面的计算中使用这些值”是什么意思呢?其实,你可以创建一个字典,把字符串和对应的值联系起来,比如:

mydata = {}
with open("values.txt", "r") as output:
   for line in output:
       tmp = line.split('=')
       mydata[tmp[0]] = float(tmp[1])
0

假设你想把fruit(水果)和values(值)配对存储到一个字典里(不过你也可以把这个方法用在其他数据结构上):

写入文件:

fruits = {"apple":12, "banana":4}
with open("test.txt", 'w') as out:
    for fruit,number in fruits.iteritems():
        line = fruit + '=' + str(number) + '\n'
        out.write(line)

从文件解析到字典:

emptyDict = {}
with open("test.txt", 'r') as infile:
    for line in infile:
        tokens = line.strip().split('=')
        fruit = tokens[0]
        number = tokens[1]
        emptyDict[fruit] = float(number)

撰写回答