curPath = os.path.dirname(os.path.realpath(__file__)) # 获取yaml文件路径 yamlPath = os.path.join(curPath, "in.yaml") def get_dict(): d = {} #in.yaml文件里面存了字典 f = open(yamlPath, 'r', encoding='utf-8') d = yaml.load(f.read(), Loader=yaml.FullLoader) f.close() return d print(get_dict())

2.增加操作

import yaml
import os
#in.yaml文件与当前的文件在同一个目录下
# 获取当前脚本所在文件夹路径
curPath = os.path.dirname(os.path.realpath(__file__))
# 获取yaml文件路径
yamlPath = os.path.join(curPath, "in.yaml")
def get_dict():
    d = {}   #in.yaml文件里面存了字典
    f = open(yamlPath, 'r', encoding='utf-8')
    d = yaml.load(f.read(), Loader=yaml.FullLoader)
    f.close()
    return d
def add_dict(a,b):
    data = {a:b}
    file = open(yamlPath, 'a', encoding='utf-8')
    yaml.dump(data, file)
    file.close()
add_dict('a','666')
print(get_dict())

3.删除操作

import yaml
import os
#in.yaml文件与当前的文件在同一个目录下
# 获取当前脚本所在文件夹路径
curPath = os.path.dirname(os.path.realpath(__file__))
# 获取yaml文件路径
yamlPath = os.path.join(curPath, "in.yaml")
def get_dict():
    d = {}   #in.yaml文件里面存了字典
    f = open(yamlPath, 'r', encoding='utf-8')
    d = yaml.load(f.read(), Loader=yaml.FullLoader)
    f.close()
    return d
def delete_data(data):
    d = {}
    with open('in.yaml','r+') as f:
        dict_temp = yaml.load(f,Loader=yaml.FullLoader)
        print(dict_temp)
        print(type(dict_temp))
        dict_temp.pop(data)
    with open('in.yaml', 'w') as f:
        yaml.dump(dict_temp,f)   #将Python中的字典或者列表转化为yaml格式的数据
        f.close()
        return d
delete_data('b')
print(get_dict())

这里的删除实际上是将yaml文件内容读取出来,删除字典里面的数据再写入in.yaml文件中。输出

4.修改操作

import yaml
import os
#in.yaml文件与当前的文件在同一个目录下
# 获取当前脚本所在文件夹路径
curPath = os.path.dirname(os.path.realpath(__file__))
# 获取yaml文件路径
yamlPath = os.path.join(curPath, "in.yaml")
def get_dict():
    d = {}   #in.yaml文件里面存了字典
    f = open(yamlPath, 'r', encoding='utf-8')
    d = yaml.load(f.read(), Loader=yaml.FullLoader)
    f.close()
    return d
def change_data(key,data):
    with open('in.yaml') as f:
        dict_temp = yaml.load(f,Loader=yaml.FullLoader)
        dict_temp[key] = data
    with open('in.yaml', 'w') as f:
        yaml.dump(dict_temp,f)    #将Python中的字典或者列表转化为yaml格式的数据
        f.close()
change_data('b','D')
print(get_dict())

感觉需要了解更多的可以去下面的网址去查看自己需要的信息

pyyaml官方教程

目录1.读取操作2.增加操作3.删除操作4.修改操作in.yaml文件的初始内容如下,以下操作都是对初始内容进行操作1.读取操作import yamlimport os#in.yaml文件与当前的文件在同一个目录下# 获取当前脚本所在文件夹路径curPath = os.path.dirname(os.path.realpath(__file__))# 获取yaml文件路径yamlPath = os.path.join(curPath, "in.yaml")
参考:https://answers.ros.org/question/197304/creatingparsing-a-dictionary-of-dictionary-params/ 官网:http://wiki.ros.org/roslaunch/XML/rosparam 官网解读: Theloadcommand is consideredadditive: if you declare a dictionary or namespace of parameters, those para...
对象:键值对的集合,又称为映射(mapping)/哈希(hashes)/ 字典 (dictionary) 数组:一组按次序排列的值,又称为序列(sequence)/列表(list),数组对象“-” 后面也要加一个空格 纯量(scalars):单个 1 yaml 文件 语法 yaml 的意思是:Yet Another Markup Language(仍是一种标记语言),几个月后几个作者又 YAML Ain't Markup Language,不同于其他标记语言,只想表示 数据 YAML 的语法和其他高级语言类似,并且可以简单表达清单,散列表,标量等 数据 形态。它使用空白符号缩进和大量依赖外观的特色,特... # 读取 YAML 文件 with open('data. yaml ', 'r') as f: data = yaml .load(f, Loader= yaml .FullLoader) # 打印读取的 数据 print(data) 写入 YAML 文件 : ``` python import yaml # 要写入的 数据 data = { 'name': 'John', 'age': 30, 'city': 'New York' # 写入 YAML 文件 with open('data. yaml ', 'w') as f: yaml .dump(data, f) 注意:在Py YAML 5.1版本及以上, yaml .load()默认安全模式为True,会报出警告。为了避免警告,可以使用 yaml .SafeLoader代替 yaml .Loader。