在Python中从外部文件将变量导入函数

2024-06-12 03:50:48 发布

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

我试图写一个相当长的脚本,使用几个不同的数据源,并可能在许多不同的阶段出错。每次在输入数据中发现一些错误时,必须从头开始重新启动整个过程并不是太有趣,所以我想我会将变量(实际上是创建的数据文件的路径)保存到备份文件中,然后读入该文件并从我停止的地方开始。不幸的是

from previousrun import *

只在本地导入变量,我不能在每个函数中使用import,因为Python告诉我在模块级别不允许使用import。有什么方法可以从另一个文件导入未知数量的变量并使它们全局可用吗?在


Tags: 文件数据fromimport路径脚本过程数据文件
2条回答

在您的函数中使用:

`locals().update(importlib.import_module("importlib").__dict__)`

import importlib。在

将所有要保存的参数附加到一个对象,然后使用pickle模块来处理序列化,这难道不是更简单吗?在

>>> class Save(object): pass
...
>>> s = Save()
>>> s.foo = 'foo'
>>> s.bar = 42
>>> import pickle
>>> fp = open('save.pickle', 'wb')
>>> pickle.dump(s, fp)
>>> fp.close()
>>>
>>> fp2 = open('save.pickle', 'rb')
>>> s2 = pickle.load(fp2)
>>> s2.foo
'foo'
>>> s2.bar
42
>>>

相关问题 更多 >