【发布时间】:2020-07-16 10:21:26
【问题描述】:
我正在尝试通过 python 3.7 获取存储在 JSON 文件中的一些值。该文件包含值,但它返回 null。
这是 JSON 文件:
{
"data_columns":[
"yearsexperience",
"milesfrommetropolis",
"ceo",
"cfo",
"cto",
"janitor",
"junior",
"manager",
"senior",
"vice president",
"bachelors",
"doctoral",
"high school",
"masters",
"others",
"biology",
"business",
"chemistry",
"computer science",
"engineering",
"literature",
"math",
"none",
"physics",
"automobile",
"education",
"finance",
"health",
"oil",
"service",
"web"
]
}
这是我尝试获取值的方式:
import json, pickle
__jobType = None
__data_columns = None
__model = None
def get_jobtpye():
return __jobType
def load_saved_artifacts():
print('Loading saved artifacts!')
global __jobType
global __data_columns
with open("./artifacts/columns.json", 'r') as f:
__data_columns = json.load(f)['data_columns']
__jobType = __data_columns[2:10]
if __name__ == '__main__':
load_saved_artifacts()
get_jobtpye()
当我检查 __jobType 变量是否包含任何东西时,我发现它确实如此。它只是不会返回任何东西。我已经被这个问题困了一个星期了。请帮忙。
【问题讨论】:
-
“它只是不会返回任何东西”是什么意思?当您运行代码时,您究竟期望发生什么,这与实际发生的有什么不同?
-
全局声明和名称修改是怎么回事?这不是在 python 中进行编码的方法
-
@roganjosh,对不起,我明白了!
-
我的意思是它应该返回从“ceo”到“副总裁”的值列表(如果您检查 json 文件的索引),但它什么也没显示。程序运行平稳,有任何错误、警告和输出。只需打印字符串“加载工件”即可。