当前位置: 首页 > news >正文

Python 文件目录操作,以及json.dump() 和 json.load()

import os 是用来引入 Python 标准库中的 os 模块的,这个模块提供了与操作系统交互的功能。这个模块常用于文件和目录操作,比如获取文件的目录路径、创建目录等。

如果你在代码中需要使用与操作系统相关的功能(例如获取目录名、检查文件是否存在等),你必须在代码开始部分导入这个模块

import os# 示例路径
path = "/path/to/some/file.txt"# 获取文件所在目录
directory = os.path.dirname(path)      返回路径 "/path/to/some/"
print(f"Directory: {directory}")# 获取文件名
filename = os.path.basename(path)      返回文件名 
print(f"Filename: {filename}")# 拼接路径
new_path = os.path.join(directory, "new_file.txt")
print(f"New Path: {new_path}")         /path/to/some/new_file.txt# 检查路径是否存在
if os.path.exists(path):print("The path exists.")
else:print("The path does not exist.")

# 打开文件以写入数据
with open(configuration_yaml_name, 'w', encoding='utf-8') as fp:yaml.dump(data=config_str, stream=fp, allow_unicode=True, sort_keys=False)

 以写入模式 ('w') 打开一个名为 configuration_yaml_name 的文件,编码为 utf-8with 语句确保文件在操作完成后会自动关闭。

  • yaml.dump(data=config_str, stream=fp, allow_unicode=True, sort_keys=False):

    • 使用 yaml.dump()config_str 数据写入文件流 fp
    • allow_unicode=True 允许在 YAML 文件中使用 Unicode 字符。
    • sort_keys=False 使得 YAML 文件中的键保持原始顺序,而不是按字母顺序排序。

yaml.dump() 是 PyYAML 库中的一个函数,用于将 Python 对象序列化为 YAML 格式并写入到文件或字符串中

这里的config.yaml 指的是configuration_yaml_name 文件

将 转化后的YAML格式写入 configuration_yaml_name 文件中


函数 json.dump() 接受两个实参:要存储的数据以及可用于存储数据的文件对象

import jsonnumbers = [2, 3, 5, 7, 11, 13] 
filename = 'numbers.json'
with open(filename, 'w') as f_obj:json.dump(numbers, f_obj)

以写入模式打开numbers.json文件 ,把 列表中的内容写入文件

下面再编写一个程序,使用 json.load() 将这个列表读取到内存中

import jsonfilename = 'numbers.json'
with open(filename) as f_obj:numbers = json.load(f_obj)
print(numbers)

以读取方式打开这个文件,函数 json.load() 加载存储在numbers.json中的信息,并将其存储到变量 numbers 中 .


追加写入

with open(filename, 'a') as file_object:file_object.write("I also love finding meaning in large datasets.\n")file_object.write("I love creating apps that can run in a browser.\n")

我们打开文件时指定了实参 'a' ,以便将内容附加到文件末尾,而不是覆盖文件原来的内容,write将内容写入       


http://www.mrgr.cn/news/818.html

相关文章:

  • 安全自动化和编排:如何使用自动化工具和编排技术来提高安全操作效率。(第一篇)
  • k8s配置资源管理
  • 大学生科创项目在线管理系统的设计与实现
  • 宠物空气净化器推荐买吗?清除浮毛的效果好吗
  • LMDeploy 部署 VLMs 的方法与探讨
  • SuccBI+低代码文档中心 —数据管理
  • 基于web的人力资源管理系统的设计与实现
  • mybatisplus多数据源中关于不同类型的(mysql,oracle)数据库分页问题解决
  • 关于DNS的配置实验
  • 人工智能-自然语言处理(NLP)
  • 【Canvas与艺术】绘制黄色三角三箭头循环标志
  • 加密创投周期进化论:未来或黯淡,但流动性是那道光
  • BIO,NIO,AIO编程实战
  • 数学建模算法总结
  • 深度学习--参数报错问题
  • 自然语言处理系列三十三》 语义相似度》同义词词林》算法原理
  • 出国留学如何兼顾学习与生活?
  • Go语言 类多态
  • 【Spring Boot - 注解】@ResponseBody 注解:处理 JSON 响应
  • Selenium + Python 自动化测试12(unittest组织更多用例)