Python OS以及json常用库函数

本文介绍了Python中用于文件操作的OS库,包括查询文件或目录是否存在、创建与删除文件或目录,以及目录浏览。同时,文章还详细讲解了如何处理JSON数据,如编码成字符串、从字符串解码、写入和读取文件。
摘要由CSDN通过智能技术生成

提示:本篇博客是对Python文件操作OS库中常用API的个人笔记,仅供参考


前言

Python文件操作OS库中常用API介绍


一、Python文件操作OS库

1.1 查询文件或目录是否存在

# 判断当前目录下是否存在test.txt文件,存在就返回True,不存在就返回False
os.path.exists("./test.txt")
# 用于判断当前目录下是否存在目录dir(即文件夹),存在返回True,不存在返回False
os.path.exists("./dir")

1.2 文件或目录的创建、删除

1.2.1 os.remove

# 删除test.txt文件,不能用于删除目录,一般与exists结合使用,因为直接删除没有的文件会报错
if os.path.exists("./test.txt"):
    os.remove('./test.txt')

1.2.2 os.mkdir、os.makedirs

# 创建单级目录
os.mkdir("dir1")
# 不能使用os.mkdir创建多级目录,会报错
os.mkdir("dir1/dir2/dir3/dir4") # 报错。。。。
# 使用os.makedirs创建多级目录
os.makedirs("dir1/dir2/dir3/dir4") # 该API也可以创建单级目录

注意:makedirs与mkdir之间最大的区别是当父目录不存在的时候os.mkdir(path)不会创建,os.makedirs(path)则会创建父目录

1.2.3 os.rmdir、shutil.rmtree

# 删除空目录dir1,注意此时dir1下不能有任何文件或目录,否则会报错
os.rmdir("./dir1")
# 删除非空目录dir1,此时dir1目录下可以允许有目录或者文件
import shutil
shutil.rmtree("./dir1")

1.3 目录或文件的浏览

# 重命名目录或文件
os.rename(old_name, new_name)
# 返回当前所在目录
os.getcwd()
# 将文件名和后缀分开,输出["a", ".txt"]
os.path.splitext("a.txt")
# 遍历指定目录下的内容,不区分文件和目录
os.listdir(path)
# 将两个路径连接起来,输出“E\my_project”
os.path.join("E", "my_project")

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、Python对json数据格式常用API

函数作用
json.dumps()将python对象编码成Json字符串
json.loads()将Json字符串解码成python对象
json.dump()将python对象转化成Json格式存储到文件中
json.load()将文件中的json格式数据装换成python对象提取出来

应用示例

import json
# 需要存储的数据
a_dict = {"1": 1, "2": 2, "3": 3}

 """
     将python中的对象转化为字符串对象
     indent是控制格式,在在查看xxx.json格式显示更好看
 """
 a_str = json.dumps(a_dict, indent=2, ensure_ascii=False)
 # 打印a_str类型
 print(type(a_str))
 """写入"""
 with open("cache.json", mode="w", encoding="utf-8") as fp:
     fp.write(a_str)

 """读取"""
 with open("cache.json", mode="r", encoding="utf-8") as fp:
     cache = json.load(fp)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值