如何将一个脚本创建的词典导入另一个脚本?

时间:2020-02-05 00:53:55

标签: python python-import

我有一个名为testings.py的python文件,在此文件中,我通过网络抓取相关数据来派生词典。要填充字典需要几分钟。

我想做的是,而不是将整个脚本复制到名为webscraper.py的其他python脚本中,然后每次运行webscraper.py时都有效地运行这两个脚本,而不是将字典从testing.py脚本导入第二个脚本webscraper.py,然后每次运行webscraper.py时都保存自己的那几分钟。

很多时候我的字典会过时,在这种情况下,我只会在启动testings.py之前运行webcraper.py。有什么方法可以满足我的要求吗?

要注意的另一件事是,在testings.py的开头有my_dict = {},直到脚本结束时my_dict才完全填充。因此,当我导入它时,我想导入它的完全填充版本,就像脚本已完全运行一样。

2 个答案:

答案 0 :(得分:1)

您可以通过多种方式保存字典以进行归档(签出https://docs.python.org/3/library/pickle.htmlhttps://docs.python.org/3/library/json.html以及如何编写文件https://docs.python.org/3/library/io.html?highlight=open),然后从其他脚本中读取字典

或者您可以只将抓取脚本导入另一个脚本,然后从那里调用抓取函数,返回结果-但这只是一个解决方案,如果您不介意在此处运行抓取,然后又不想重用以前的抓取结果。

答案 1 :(得分:0)

当我运行此脚本时:

from tester import my_dict
print ('Now in second script.')
print (my_dict)

它实际上运行名为tester.py的脚本,然后导入并打印my_dict。

my_dict = {}
for x in range (20) :
    for y in range (10) :
        my_dict [x] = y
print (my_dict)
input ('All done now.')