使用文件路径读取另一个python文件中的.py文件变量[重复]
Posted
技术标签:
【中文标题】使用文件路径读取另一个python文件中的.py文件变量[重复]【英文标题】:Read .py file variables in another python file using the filepath [duplicate] 【发布时间】:2021-06-25 04:48:57 【问题描述】:考虑到我有两个文件 - abc.py
和 xyz.py
abc.py
包含以下代码 -
li = [1, 2, 3, 4]
dt = 'm':1, 'n':4, 'o':9
我想读取文件abc.py
并使用xyz.py
中的python 变量,就像我们使用from abc import li, dt
导入一样。
将提供abc.py
的路径(比如path/to/abc.py
),我想导入内容并在xyz.py
中使用它,就像python 变量一样。
以下代码以字符串格式提供内容,虽然我可以进行一些编码并完成工作,但我想概括并寻找更好的方法。另请注意,我发现使用 abc.json
是一个更好的选择,但由于某些原因,我无法将其用于我的目的。
with open(path, "r") as f:
s = f.read()
print(s)
【问题讨论】:
看看***.com/questions/67631/… 用json怎么样?"li": [1, 2, 3, 4], "dt": 'm':1, 'n':4, 'o':9
。我认为使用另一个 python 文件中的变量不是最好的主意,而是可以使用 json、xml 等。
您是否有理由访问这样的 .py 文件以获取可变内容? JSON不可用还是?你考虑过csv吗?查看允许将变量传递给 python 脚本的各种类型的配置文件。 martin-thoma.com/configuration-files-in-python
是的,这可能不是最好的主意,但我必须专门使用 .py
文件是有原因的。
【参考方案1】:
首先,不要使用 abc.py,因为它会与另一个同名的内置函数发生冲突。
你可以将文件夹添加到sys中,然后导入。
例如重命名为 abcfile.py:
import sys
sys.path.insert(1, folder_path)
import abcfile
print(abcfile.li)
>>> [1, 2, 3, 4]
【讨论】:
以上是关于使用文件路径读取另一个python文件中的.py文件变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章