其他文件中的Python字典不更新

2024-10-06 13:13:57 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我在同一个目录中有此设置:

├── main.py
├── currencies.py

我正在使用此代码导入

from currencies import *

我可以在主文件上很好地进行计算,但currences.py字典没有更新。为什么呢?如果有道理的话,我好像有一本本地字典

是否也可以更新另一个文件中的词典


Tags: 文件代码frompyimport目录字典main
1条回答
网友
1楼 · 发布于 2024-10-06 13:13:57

Python不会导出到另一个文件,而是生成一个副本。如果您从另一个文件导入变量myvar,然后更改该变量的值,那么您只是在更改内存中变量的值-它不会重写另一个文件以反映更改。Python在导入时读取变量,但不会写回文件导出。您正在操作的是存储在内存中的一个值—一个副本

一旦操纵了数据,就可以将其写入文件,但不能编辑单独的python文件。相反,将数据保存在txt、csv或json文件中。不使用导入,您可以使用:

with open('mydata.txt', 'r') as fp:   # 'r' for read
  mydata = fp.read()
  mydict = ast.literal_eval(mydata)

上面,我使用了ast.literal_eval(),假设我在txt文件中有一个表示为字符串的字典。如果使用json,则会有一些不同。无论哪种方式,您都需要导入json或ast

完成dict并想再次保存后,请使用:

with open('mydata.txt', 'w') as fp:   # 'w' for write
  fp.write(str(mydict))               # convert back to a string

如果需要另一个python脚本来使用新数据,那么它们可以从同一个文件读写

相关问题 更多 >