2024-10-06 13:13:57 发布
网友
因此,我在同一个目录中有此设置:
├── main.py ├── currencies.py
我正在使用此代码导入
from currencies import *
我可以在主文件上很好地进行计算,但currences.py字典没有更新。为什么呢?如果有道理的话,我好像有一本本地字典
是否也可以更新另一个文件中的词典
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脚本来使用新数据,那么它们可以从同一个文件读写
Python不会导出到另一个文件,而是生成一个副本。如果您从另一个文件导入变量myvar,然后更改该变量的值,那么您只是在更改内存中变量的值-它不会重写另一个文件以反映更改。Python在导入时读取变量,但不会写回文件导出。您正在操作的是存储在内存中的一个值—一个副本
一旦操纵了数据,就可以将其写入文件,但不能编辑单独的python文件。相反,将数据保存在txt、csv或json文件中。不使用导入,您可以使用:
上面,我使用了ast.literal_eval(),假设我在txt文件中有一个表示为字符串的字典。如果使用json,则会有一些不同。无论哪种方式,您都需要导入json或ast
完成dict并想再次保存后,请使用:
如果需要另一个python脚本来使用新数据,那么它们可以从同一个文件读写
相关问题 更多 >
编程相关推荐