1、OS模块的简介
OS模块
Python标准库
和操作系统有关的操作
创建、移动、复制文件和文件夹
文件路径和名称处理
路径的操作
获取当前Python程序的运行路径
不同操作系统之间路径的表示方式
Windows中采用反斜杠(\)作为文件夹之间的分隔符
Mac和Linux中采用反斜杠(/)作为文件夹之间的分隔符
import os
print(os.getcwd())
输出结果:
F:\练习
Python自动处理路径连接
os.path.join()
import os
print(os.path.join('e:\office','2009'))
输出结果:
e:\office\2009
绝对 路径和相对路径
import os
lsr = os.listdir('e:\\office')#绝对路径
lst = os.listdir('../file')#相对路径
for item in lst:
print(item)
os.listdir()
import os
print(os.listdir())
#遍历列表
lst = os.listdir()
for item in lst:
print(item,type(item),len(item))#查看类型和长度
输出结果:
['.idea', 'import os.py', 'pandas.py', 'Pipfile', 'test', 'test.py', 'pycache']
os.scandir()
import os
lst = os.scandir()
for file in lst:
#输出文件类型,文件名,文件路径,是否目录
print(file,type(file),file.name,file.path,file.is_dir())
输出结果:
12286.rar .\12286.rar False 12594.rar .\12594.rar False
2、文件的遍历、搜索及查询操作
遍历文件
把文件夹里面的文件夹里的文件夹里的文件都找出来
os.walk(XXX)
#遍历指定目录下的所有文件(包含子文件夹下的文件)
import os
print(os.walk('./'))
for dirpath,dirnames,file in os.walk('./'):
print('发现文件夹',dirpath)
print(dirnames)#dirpath这个文件夹下的子文件夹列表
print(file)
输出结果:
发现文件夹 ./ ['RECYCLE.BIN', 'AVS4YOU', 'BaiduNetdiskDownload', 'download', 'ISO镜像文件', 'kali', 'Ninjutsu', 'photo', 'System Volume Information', 'WinXp_52Pojie_2.0', '学习', '新建文件夹', '新建文件夹 (2)'] 发现文件夹 ./RECYCLE.BIN[′S−1−5−21−2986929305−3290398581−2259961698−1001′]发现文件夹./RECYCLE.BIN\S-1-5-21-2986929305-3290398581-2259961698-1001
搜索文件 搜索匹配文件
字符串内置方法
startswith()
import os
#获取当前目录下所有文件名
lst = os.listdir()
print(lst)
#从众多的文件中查找i开头的文件
for item in lst:
if item.startswith('i'):
#if item.startswith('d') and item.endswith('.txt'):(#从众多的文件中查找i开头是.txt的文件)
print(item)
输出结果:
import os.py
endswith()
import os
#获取当前目录下所有文件名
lst = os.listdir()
#从众多的文件中查找到.py文件
for item in lst:
if item.endswith('.py'): #找到所有py文件
print(item)
输出结果:
import os.py test.py