认识os模块的基本用法
os模块主要用于操作系统中的文档
获取路径
创建文件/文件夹
查看路径下的所有文件
拼接路径
拆分路径
判断识别文件与文件夹
重命名路径
获取文件大小
import os
# 1.listdir() 查看指定目录下的所有文档和文件夹
print(os.listdir(r"C:\Program File"))
# 2.获取当前目录
print(os.curdir())
# 此处会得到. .表示当前目录,相对路径的一种表示方法
# 3.获取当前路径
print(os.getcwd())
# 我的文件路径时 D:\code\python
# 4.创建文件夹
os.mkdir(r'D:\code\python\test')
# 自动创建文件夹,不能创建已经存在的文件夹
# 5.创建多个文件夹
os.makedirs(r'D:\code\python\a\b\c')
# 一次性创建a\b\c三个文件夹,不过是嵌套式的创建,类似递归创建,不是创建多个同一级文件夹
# 6.删除文件夹
os.rmdir(r'D:\code\python\test')
# 只能删除空文件夹
# 7.重命名文件/文件夹
os.rename(r'D:\code\python\a', r'D:\code\python\d')
# os.rename(原路径/文件名,新路径/文件名)
# 8.删除文件
os.remove(r'D:\code\python\a.py')
# 9.拼接路径
print(os.path.join(r'D:\code\python', 'ch1.py'))
# 得到结果 D:\code\python\ch1.py 会自动使用 \ 把路径位置和文件名拼接起来
# 10.拆分路径
print(os.path.split(r'D:\code\python\ch1.py'))
# 得到结果 ('D:\\code\\python', 'ch1.py') 将文件的路径和文件名分开,和join()方法相反
# 11.拆分文件名和扩展名
print(os.path.splitext(r'D:\code\python\ch1.py'))
# 得到结果 D:\code\python\ch1 .py
# 根据.进行分割,如果存在路径,则把路径和文件名分在一起
# 12.获取文件的绝对路径名
print(os.path.abspath('ch1,py'))
# 得到结果 D:\code\python\ch1.py
# 13.获取文件的内存大小
print(os.path.getsize(r'D:\code\python\ch1.py'))
# 得到的时对应文件的字节数,不是KB的单位
# 14.判断内容是否属于文件类型
print(os.path.isfile(r'D:\code\python\ch1.py'))
# True
# 15.判断文件是否属于文件夹类型
print(os.path.isdir(r'D:\code\python\ch1.py'))
# False
# 16.判断文件/文件夹是否存在
print(os.path.exists(r'D:\code\python\ch1.py'))
# True
# 17.获取内容的文件路径部分
print(os.path.dirname(r'D:\code\python\ch1.py'))
# 结果 D:\code\python
# 18.获取内容的文件名以及后缀名部分
print(os.path.basename(r'D:\code\python\ch1.py'))
# 结果 ch1.py
在以上内容中,文件路径部分,引号前都加了个 r'...' ,是因为字母r可以取消 \ 符号的转义作用,就单纯做一个符号来使用,否则需要使用\\来实现输出 \ 的效果
os模块实践
遍历当前路径下的所有文件
# 导入os模块
import os
def fun(path):
# 判断文件是否存在
if not os.path.exists(path):
# 如果路径不存在,则返回
return
# 获取当前路径下的所有文件/文件夹
filelist = os.listdir(path)
# 遍历列表
for file in filelist:
# 拼接路径
filepath = os.path.join(path,file)
# 判断是否属于文件夹
if os.path.isdir(filepath):
# 递归遍历文件夹
fun(filepath)
# 不是文件夹,那就是文件
else:
# 输出文件
print(filepath)
# 获取当前路径
path = os.getcwd()
# 调用函数
fun(path)