有几个问题与从外部文件中读取python代码有关,包括
Python: How to import other Python files
How to include external Python code to use in other files?
但它不清楚如何在外部文件中包含文本片段,这是CPP #include
指令的标准做法。例如,以下代码:
def get_schema():
schema1 = \
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "0",
"type": "object",
"properties": {
"i": { "type": "integer" },
"n": { "type": "string" }
}
}
return(schema1)
s = get_schema()
print(s)
返回预期的字典:
{'id': '0', '$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': {'i': {'type': 'integer'}, 'n': {'type': 'string'}}}
但我想要做的是编写代码,以便从不包含任何python代码(函数定义或变量赋值)的外部文件中导入变量定义:
def get_schema():
schema1 = \
#include "schema1.json"
return(schema1)
s = get_schema()
print(s)
我确定这可以通过一堆代码来打开定义文件,将内容读入字符串,添加python的前后行,然后执行字符串,但它似乎应该有一种更简单的方法来在函数定义中包含文本。有吗?
答案 0 :(得分:2)
如果要从文件加载json,可以使用json
库:
import json
def get_schema():
with open('schema1.json', 'r') as f:
return json.load(f)