gpt4 book ai didi

python - 使用从另一个python文件中的文件导入的python dict

转载 作者:太空狗 更新时间:2023-10-30 02:10:17 25 4
gpt4 key购买 nike

我遇到了与 OP 在 How to import or include data structures (e.g. a dict) into a Python file from a separate file 中提出的相同问题.但是由于某种原因我无法让它工作。

我的设置如下:

文件 1.py:

TMP_DATA_FILE = {'a':'val1', 'b':'val2'}

文件2.py:

from file1 import TMP_DATA_FILE

var = 'a'
print(TMP_DATA_FILE[var])

当我这样做并从 cmd 行运行脚本时,它说字符串索引必须是整数。

当我执行 type(TMP_DATA_FILE) 时,我得到类“str”。我试图将其转换为 dict 以便能够使用 dict 操作,但无法使其正常工作。

如果我执行 print(TMP_DATA_FILE.get(var)),因为我正在使用 PyCharm 进行开发,它会列出 get()、keys()、items()、fromkeys( ) 等,但是当我从命令行运行程序时,它说“str”对象没有属性“get”。

当我执行 print(TMP_DATA_FILE) 时,它只列出“val1”。它没有列出 'a'、'b'、'val2'。

但是,从 PyCharm 运行相同的脚本时没有任何问题。只是当我从命令行将脚本作为单独的解释器进程运行时,它会给出这些错误。

我不确定是 PyCharm 导致了错误还是我做错了什么。

最初我在 dict 变量中只有一个键:值并且它起作用了,当我添加新的键:值对时它开始给出这些错误。

我也尝试过使用 ast.literal_evaleval,但都没有用。不确定我哪里出错了。

如有任何帮助,我们将不胜感激。

谢谢。

最佳答案

有两种方法可以访问文件 file1.py 中的变量 TMP_DATA_FILE:

import file1
var = 'a'
print(file1.TMP_DATA_FILE[var])

或:

from file1 import TMP_DATA_FILE
var = 'a'
print(TMP_DATA_FILE[var])

file1.py 位于 python 搜索路径中包含的目录中,或者与导入它的文件位于同一目录中。

检查 this answer关于 python 搜索路径。

关于python - 使用从另一个python文件中的文件导入的python dict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30893843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com