将字典另存为Python脚本

2024-10-03 04:37:36 发布

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

我对Python有些陌生。我有一个非常长的过程来计算字典,其中键是浮点上的元组,值是浮点列表。我想多次运行同一个脚本,但只计算字典一次。我也希望能够访问其他纸条上的词典。我的想法是计算字典并将其写入另一个.py文件,我可以将其导入任何脚本中。我发现了很多关于将数据写入txt文件和读取txt文件的内容,但是有没有一种直接写入另一个.py文件的快速方法?也就是说,我想要的是:

def Complicated_Process():

      Compute some dictionary D
      write D to file.py
import file.py

D = the dictionary in file.py

Tags: 文件数据pytxt脚本列表dictionary字典
2条回答

我会看一看pickle包,它与python一起提供,因此不需要安装任何新的包。 这允许您将dict保存到文件中,并在其他脚本中使用

# Save a dictionary into a pickle file.
import pickle
    
favorite_color = {"lion": "yellow", "kitty": "red"}
    
pickle.dump(favorite_color, open("save.p", "wb"))

# Load the dictionary back from the pickle file.
    
favorite_color = pickle.load(open("save.p", "rb"))
# favorite_color is now {"lion": "yellow", "kitty": "red"}

https://wiki.python.org/moin/UsingPickle

我认为将数据保存为JSON是安全的选择,但是JSON只支持字符串作为键,并且有一个浮点元组。您可以在python模块之间导入变量,因此在compute.py中您有:

def complicated_computation():
    ...
    return data
MY_DATA = complicated_computation()

然后从您的其他模块中:

from compute import MY_DATA
...

如果您在多个位置执行此操作,那么您应该只计算一次,前提是您仍然在同一个python内核中运行

相关问题 更多 >