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 json

numbers = [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 json

filename = '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将内容写入       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值