os
os
os模块介绍
- 和操作系统相关的功能被封装在os模块
- os模块不受平台限制,因为Python是平台无关的,而获取当前路径Windows和Linux是不同的,所以Python的os模块作为中间层,在Windows平台通过os导入nt模块(Windows是nt架构),在linux通过os导入posix模块
删除相关
-
removedirs()若目录为空则删除,并递归到上一级目录,如若也为空,则删除,依次类推((删除的文件回收站没有))
os.removedirs(r'E:\xiaoxiannv\aa\hh')
-
rmdir()删除一个指定空目录,若不是空目录则报错
os.rmdir(r'E:\xiaoxiannv\aa\hhh')
-
remove()删除文件,不能删除文件夹
os.remove(r'E:\xiaoxiannv\aa\kk\uu.py')
-
rmtree()删除带内容的目录
import shutil shutil.rmtree('ll')
查看相关
- os.walk方法,主要用来遍历一个目录内各个子目录和子文件。(返回的是生成器)
- 返回的是元组,元组中包含(dirpath, dirnames, filenames)
- 第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
s=os.walk(r'E:\xiaoxiannv', topdown=True, onerror=None, followlinks=False)
for a,b,c in s:
# print(c)
#将路径和文件名拼接起来
for i in c:
path = os.path.join(a, i) #
print(path)
- os.name 显示当前使用的平台
print(os.name)
nt 是windows系统
posix 是Linux系统
-
help()查看os模块帮助文档
# help()查看os模块帮助文档
print(help(os))
-
getcwd()查看当前所在目录chdir()切换指定路径
# getcwd()查看当前所在目录(路径)
print(os.getcwd())
# 切换目录(路径)
os.chdir(r'E:\xiaoxiannv\aa\kk')
print(os.getcwd())
#得
# E:\xiaoxiannv\aa
# E:\xiaoxiannv\aa\kk
- curdir获取当前目录 pardir获取当前目录的父目录
# 获取当前目录
print(os.curdir)
# 获取当前目录的父目录
print(os.pardir)
# 得:. ..
- listdir() 显示指定目录下所有文件,包括隐藏文件
print(os.listdir(r'E:\xiaoxiannv'))
- stat()获取文件目录信息,并可以获取到文件的大小
print(os.stat(r'E:\xiaoxiannv\aa\cc.py'))
得:
os.stat_result(st_mode=33206, st_ino=114841790497964433, st_dev=2594564338, st_nlink=1, st_uid=0, st_gid=0, st_size=3585, st_atime=1618717691, st_mtime=1618717691, st_ctime=1617458016)
- os.environ 获取操作系统的环境变量
print(os.environ)
创建修改相关
- os.rename() 重命名文件
print(os.rename('cc.py','pp.py'))
- makedirs()生成一个多层递归目录
os.makedirs(r'E:\xiaoxiannv\aa\hh')
- mkdir() 创建一个目录
os.mkdir('../aa/kk/oo')
- getcwd()查看当前所在目录(路径)chdir()切换指定路径
# getcwd()查看当前所在目录(路径)
print(os.getcwd())
# 切换目录(路径)
os.chdir(r'E:\xiaoxiannv\aa\kk')
print(os.getcwd())
#得
# E:\xiaoxiannv\aa
# E:\xiaoxiannv\aa\kk
路径相关操作
-
os.path.split() 将path分割成目录和文件名,以元组的形式返回
print(os.path.split(r'E:\xiaoxiannv\aa.py')) # 得('E:\\xiaoxiannv', 'aa.py')
-
os.path.abspath() 返回路径规范化的绝对路径
print(os.path.abspath('cc.py')) # 得E:\xiaoxiannv\aa\cc.py
-
os.path.dirname() 返回path的目录
print(os.path.dirname(r'E:\xiaoxiannv\aa\cc.py')) # 得 E:\xiaoxiannv\aa
-
os.path.basename()返回path最后的文件名
print(os.path.basename(r'E:\xiaoxiannv\aa\cc.py')) # 得:cc.py
-
os.path.exists()判断路径是否存在,如果存在返回True,如果不存在返回Flase
print(os.path.exists(r'E:\xiaoxiannv\aa\cc.py'))
-
os.path.isabs()判断路径是否是绝对路径,如果是返回True,如果不是返回Flase
print(os.path.isabs(r'E:\xiaoxiannv\aa\cc.py'))
-
os.path.isfile()判断是否是一个文件,如果是返回True,否则返回Flase
print(os.path.isfile(r'E:\xiaoxiannv\aa\cc.py'))
-
os.path.isdir()判断是否是一个存在的目录
print(os.path.isdir(r'E:\xiaoxiannv\aa'))
-
os.path.join() 拼接路径和文件名
print(os.path.join(r'E:\xiaoxiannv\aa','cc.py'))
-
os.path.getatime()返回path所指向的文件或者目录的最后存取时间
print(os.path.getatime(r'E:\xiaoxiannv\aa\cc.py'))
-
os.path.getmtime()返回路径所指向的文件或者目录的最后修改时间
print(os.path.getmtime(r'E:\xiaoxiannv\aa\cc.py'))
-
os.path.getsize()获取文件大小
print(os.path.getsize(r'E:\xiaoxiannv'))