如何在python文件中包含文本

时间:2016-02-12 04:42:39

标签: python json python-3.x

有几个问题与从外部文件中读取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的前后行,然后执行字符串,但它似乎应该有一种更简单的方法来在函数定义中包含文本。有吗?

1 个答案:

答案 0 :(得分:2)

如果要从文件加载json,可以使用json库:

import json

def get_schema():
    with open('schema1.json', 'r') as f:    
        return json.load(f)