如果字符串没有空格或特殊字符,不需要加引号;如果其中有空格或特殊字符,则需要加引号。
双引号不会被Python转义,字符串将原样输出。
单引号会被Python转义,字符串将转义后输出。
# test.yaml 文件内容
# 双引号
str: xiaoming
str1: "Hello World"
str2: "Hello\nWorld"

# 单引号
str: xiaoming
str1: 'Hello World'
str2: 'Hello\nWorld'

# python 代码
import yaml
import os

# 项目路径
project_path = os.path.split(os.path.realpath(__file__))[0].split('tools')[0]


def get_yaml_data(fileDir):
    """
    读取 test.yaml 文件内容
    :param fileDir:
    :return:
    """
    # 1、在内存里加载这个文件
    f = open(fileDir, 'r', encoding='utf-8')
    # 2、调用yaml读取文件
    # Loader=yaml.FullLoader 更加安全
    res = yaml.load(f, Loader=yaml.FullLoader)
    return res


if __name__ == '__main__':
    info = get_yaml_data(project_path + r'\test.yaml')
    print(info)


# 输出:
# 双引号->原样输出
# {'str': 'xiaoming', 'str1': 'Hello World', 'str2': 'Hello\nWorld'}
# 单引号->转义后输出
# {'str': 'xiaoming', 'str1': 'Hello World', 'str2': 'Hello\\nWorld'}
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐