赞
踩
目录
os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件、目录打交道,这时就离不了os模块,本节内容将对os模块提供的函数进行详细的解读
在使用的时候,需要导入该库
import os
'运行
os.getcwd()
该方法只能删除当前目录。如果目录下还有文件夹或文件,会报错
os.rmdir(path) #传入一个完整的path路径
可以删除多层递归的空目录,若目录中有文件则无法删除
os.removedirs(path) #传入一个完整的path路径
该方法原理即先判断路径对象是否存在,再遍历目录中的文件和子目录,然后删除子目录和文件,最后删除顶层的目录
下面这是对象的删除非空目录的函数方法,可直接调用
- def delete_non_empty_directory(path):
- try:
- # 判断路径是否存在
- if not os.path.exists(path):
- print(f"目录 {path} 不存在")
- return
-
- # 遍历目录中的文件和子目录
- for root, dirs, files in os.walk(path, topdown=False):
- for file_name in files:
- file_path = os.path.join(root, file_name)
- # 删除文件
- os.remove(file_path)
- for dir_name in dirs:
- dir_path = os.path.join(root, dir_name)
- # 删除子目录
- os.rmdir(dir_path)
-
- # 最后删除顶层目录
- os.rmdir(path)
- print(f"成功删除目录 {path}")
- except Exception as e:
- print(f"删除目录 {path} 失败:{e}")
'运行
如果文件夹存在时,使用该方法,会报错,所以需要结合exists先进行判断是否存在
os.mkdir(path) #传入一个完整的path路径
os.makedirs(path) #传入一个完整的path路径
os.path.isdir(path) #传入一个完整的path路径
- print(os.getcwd())
- path='/tmp'
- os.chdir(path) #实现改变路径的方法
- print(os.getcwd())
-
- /home/kiosk/PycharmProjects/2019python
- /tmp
如果文件存在时,使用该方法,会报错,所以需要结合exists先进行判断是否存在
os.mknod(path) #传入对应的路径
os.remove(path) #传入对应的路径
os.rename('data.txt','data1.txt')
os.path.isfile(path) #传入一个完整的path路径
- os.path.getatime(path) #返回最近访问时间 (浮点型秒数)
- os.path.getctime(path) #返回文件创建时间
- os.path.getmtime(path) #返回最近文件修改时间
- os.path.getsize(path) #返回文件大小 (字节为单位)
该方法返回一个布尔值
os.path.exists(path) #传入一个完整路径对象,判断路径对象是否存在
该方法只会获取到当前路径的,不会深层次进行遍历。
listpath=os.listdir(path) #传入一个完整路径
深层次遍历指定路径下的所有子文件夹,返回的是一个由路径、文件夹列表、文件列表组成的元组。
可以结合for循环来使用
- for path,dirs,files in os.walk(path1): #传入一个完整路径。
- print(path)
- print(dirs)
- print(files)
要将文件名加到路径后面,就可以用该方法
- path1='D://'
- path2='a.txt'
-
- os.path.join(path1,path2) #将两个路径拼接起来
os.path.split(path) #传入一个完整的path路径,将其拆分为上级目录和文件名部分;
os.path.dirname(path) #传入一个完整的path路径,只获取上级目录;
os.path.basename(path) #传入一个完整的path路径,只获取文件名部分;
os.path.sep
返回操作系统类型 :posix 是linux操作系统,nt 是windows操作系统
- print(os.name)
- print('Linux' if os.name == 'posix' else 'Windows')
-
- posix
- Linux
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。