1) 文件夹
os.listdir() #显示文件夹下所有文件
os.getcwd() #获取当前工作目录
os.chdir() #切换目录
os.mkdir() #建立目录
os.path.exists() #判断路径存不存在
os.path.isdir() #判断是不是目录
os.path.join() #组合路径
2) 相对路径与绝对路径
一个点:当前目录,特殊名称,不是真的文件夹
两个点:父级目录
os.path.abspath('.') #显示绝对路径
os.path.isabs() #判读是不是绝对路径
os.path.relpath() #显示相对路径
3)命名管理
#路径各级名称
os.path.sep #路径分割符
os.path.basename() #获取文件名
os.path.dirname() #获取路径名
os.path.split(path) #分割路径和文件名
#('C:\\Users\\sothi\\Desktop\\py2018', '02-auto')
os.path.splitext(path) #点号分割,可以获取后缀
#示例
os.path.split(r'C:\Users\sothi\Desktop\py2018\02-auto\test\1.pdf'
('C:\\Users\\sothi\\Desktop\\py2018\\02-auto\\test', '1.pdf')
os.path.splitext(r'C:\Users\sothi\Desktop\py2018\02-auto\test\1.pdf')
('C:\\Users\\sothi\\Desktop\\py2018\\02-auto\\test\\1', '.pdf')
4) 删除文件:操作有风险,删除需谨慎
os.unlink
shutil.rmtree(path)
import shutil
shutil.rmtree('xxx')
#复制/移动:shutil
shutil.copytree('../test', '../backup')
shutil.move('007', '009')
5) 只想要我要的文件格式
- 文件的属性
os.path.getsize #文件大小
os.path.isfile() #判断是不是文件
os.stat #文件信息:权限,大小,创建时间等
os.walk()
#
for root, dirs, files in os.walk('.'):
print(root, dirs, files)
- 后缀名
split #通过split切割
[-3:] #文件后缀一般是3个长度:比如.txt
re #通过正则匹配
endswith #通过endswith匹配后面字符串
#示例
# os.walk 遍历目录, 找到对应后缀名,并大小小于1M的文件
re_filename = re.compile('(.*pdf$)|(.*docx$)|(.*xls$)')
for root, dirs, files in os.walk('.'):
print(root, dirs, files)
for name in files:
file = os.path.join(root, name) # 根目录下的文件名
if re_filename.match(file) and os.path.getsize(file) < 1024*1024:
print(name)