如果字符串没有空格或特殊字符,不需要加引号;如果其中有空格或特殊字符,则需要加引号。
双引号不会被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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐