首页 > 编程语言 > python笔记74- yaml 使用特殊符号| 解决字符串带换行的问题

python笔记74- yaml 使用特殊符号| 解决字符串带换行的问题

时间:2022-11-15 12:34:26浏览次数:39  
标签:qq name python email yaml yoyo key 特殊符号 hello

前言

在yaml文件中通过字符串写一行,如果字符串需要换行的,可以使用 yaml中的特殊符号|和>。

管道符 |

| 这个控制符的作用是保留文本每一行尾部的换行符 "\n",等效于 |+。
|+会额外保留整个文本最后的换行符 "\n"。
|-会额外删除整个文本最后的换行符 "\n"。

yaml文件内容

name: yoyo
key: |
  hello
  world
  welcome
email: [email protected]

读取yaml文件内容

import yaml

with open('x.yml', 'r', encoding='utf-8') as fp:
    y = yaml.safe_load(fp)
    print(y)

运行结果

{'name': 'yoyo', 'key': 'hello\nworld\nwelcome\n', 'email': '[email protected]'}

|+会额外保留整个文本最后的换行符 "\n", 等效于 |

name: yoyo
key: |+
  hello
  world
  welcome
email: [email protected]

如果不需要最后的换行符\n可以使用|-

name: yoyo
key: |-
  hello
  world
  welcome
email: [email protected]

实际效果

{'name': 'yoyo', 'key': 'hello\nworld\nwelcome', 'email': '[email protected]'}

>控制符

这个控制符的作用是将每一行尾部的换行符 "\n"替换为空格 " ",也就是将多行文本视为一行,等效于>+。

  • 会额外保留整个文本最后的换行符 "\n"。
  • 会额外删除整个文本最后的换行符 "\n",当没有显式添加|或>时,这是默认的行为。
    YAML格式
name: yoyo
key: >+
  hello
  world
  welcome
email: [email protected]

运行结果

{'name': 'yoyo', 'key': 'hello world welcome\n', 'email': '[email protected]'}

YAML格式

name: yoyo
key: >-
  hello
  world
  welcome
email: [email protected]

运行结果

{'name': 'yoyo', 'key': 'hello world welcome', 'email': '[email protected]'}

当追加了 "+" 时,如果最后一项正好在整个文件的结尾一定要注意多打个回车,因为最后一项后面的回车符就是控制的整个文本最后的回车符,如果这个回车符不存在,"+"也就无效了。

name: yoyo
key: |+
  hello
  world
  welcome

标签:qq,name,python,email,yaml,yoyo,key,特殊符号,hello
From: https://www.cnblogs.com/yoyoketang/p/16890827.html

相关文章

  • python当中匿名函数lambda使用
    什么是匿名函数?匿名函数指一类无须定义标识符的函数或子程序。Python用lambda语法定义匿名函数,只需用表达式而无需申明。在python中,不通过def来声明函数名字,而是通......
  • python-元组、列表、字典
    python-元组、列表、字典一、元组"""python元组tuple不可变,不支持删除,添加,修改值:1、创建空元组,创建一个元素的元组(一个元素后加英文逗号)。2、通过索引获取使用......
  • Python取余/求余(%)问题,负数求余最简单的解释
      Python求余中会犯的错误思想如下:    一.忘记求商结果是负数时要向下取整,比如-2.25等于-3。    二.是把负数求余运算和正数求余运算混为一谈  ......
  • python django
    1、安装django2、查django版本python-mdjango--version3、创建django项目cdC:\Curtis\Python\Project4、django-adminstartprojectMySiteMySite是创建的djang......
  • python安装与python、pip的环境变量配置
    进入官网在你常用的搜索引擎中输入python官网然后进入。可直接点击本链接python官网进入;也可在浏览器地址栏输入www.python.org回车进入官网。下载将鼠标放到菜......
  • 自定义一个python pip包
    新建一个目录mkdirexample基本说明文件README.rstLICENSEsetup.cfgsetup.pyMANIFEST.indocsexample/README.rst点击查看代码=====example=====Pollsi......
  • GO读取Yaml文件
    yaml语法简介YAML语言(发音/ˈjæməl/)的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。YAML有一个小的怪癖。所有的YAML文件开始行都应该是--......
  • Python获得最近的星期五的日期
    要将一周中的某一天作为int,我们使用datetime.datetime.today().weekday();要从datetime中减去days,我们使用datetime.today()-timedelta(days=days_to_subtract),现在我们可......
  • python 定时认证
    importrequests,time,sys,re,json,schedulefromdatetimeimportdate,datetimeaa1='''Host:10.255.0.2:8081Content-Length:83Cache-Control:max-age=0Upgrade-......
  • 新的学习历程-python6 字符串基础使用
    1sentence1='tom\'spetisacat'#单引号中包含转单引号2sentence2="tom\'spetisacat"3sentence3="tomsaid:\"helloworld\""4sentence4='to......