(P2)python3 OS 文件/目录方法

本文介绍了Python中的os和os.path模块,包括获取当前工作目录、列出目录内容、创建多级目录、文件重命名、路径操作等实用方法,并提供了具体的代码示例,如检查路径是否存在、组合路径、删除文件等。此外,还展示了如何使用os.path模块来分割和处理路径,以及获取文件名和后缀。这些技巧对于日常的文件操作和目录管理非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python os 方法

只记录那些我用到的,不照搬照抄

1、os方法

os.getcwd() # 返回当前工作目录。
os.listdir(xxx) # 返回目录下的所有文件/文件夹名字的list。
os.makedir(xxx) # 一层一层的创建文件夹,如果父文件夹不存在,则不能创建出子文件夹,更为保险。
os.makedirs(xxx) # 可以一次创建多级目录,就算父文件夹不存在,它也可以创建出来。
os.rename(oriname, newname) # 用于修改文件名称,文件名称要绝对路径。⭐

1.1 获取路径后并把所有文件/文件夹输出为 list

os.listdir(os.getcwd())	# 绝妙的搭配!⭐
os.system("pause") # 暂停程序,按任意键继续执行。

1.2 生成文件夹 ⭐

# 方法一
log_dir = 'weights'
if not os.path.exists(log_dir):
    os.makedirs(log_dir)

# 方法二
os.makedirs("output", exist_ok=True)
# 是否在目录存在时触发异常。
# 如果 exist_ok 为 False(默认值),则在目标目录已存在的情况下触发 FileExistsError 异常;
# 如果 exist_ok 为 True,则在目标目录已存在的情况下不会触发 FileExistsError 异常。

2、os.path() 模块

os.path.dirname(xxx) # 去掉路径的文件名,返回目录(dirname)。
os.path.basename(xxx) # 去掉路径的目录,返回文件名(basename)。 ⭐
os.path.split(xxx) # 将路径分割为目录和文件名,返回元组。
os.path.splitext(xxx) # 将路径的文件名和后缀名分割,返回元组。 ⭐

举例

import os
path = "/data/coco/images/val2014/COCO_val2014_000000000711.jpg"
print(path)
image_dir = os.path.dirname(path)
label_dir = "labels".join(image_dir.rsplit("images", 1))   # mark,替换路径目录中的特定字符做法
print(image_dir) 
print(label_dir)
filename = os.path.basename(path)
print(filename)
split = os.path.splitext(path)   
print(split)
print(os.path.splitext(path)[0]+'.txt')			# mark,替换路径后缀的做法

'''
/data/coco/images/val2014/COCO_val2014_000000000711.jpg
/data/coco/images/val2014
/data/coco/labels/val2014
COCO_val2014_000000000711.jpg
('/data/coco/images/val2014/COCO_val2014_000000000711', '.jpg')
/data/coco/images/val2014/COCO_val2014_000000000711.txt
'''

常用的几行代码 ⭐

os.path.exists(dir) # 判断路径存在。
os.path.join(dir, file) # 将文件名和路径join起来,变成绝对路径。
os.remove(name) # 删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。 
os.listdir(dir) # 用于返回指定路径下的文件和文件夹的名字的列表。

举例

if os.path.exists(dir): #判断目录是否存在
	files = os.listdir(dir) #获取目录下的所有文件名 files类型是list
    for file in files:  #遍历所有文件   file是文件名称,类型是str
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值