每天写一点,总有一天我这条咸鱼能变得更咸
python 中对文件及目录的操作基本依赖与os,shutil模块,其中以os模块为主,最主要的几个方法实例如下:
1.判断文件/目录是否存在(os.path.exists(filename)),实例如下:
文件存在则返回True,不存在则返回False
2.获取当前文件路径(os.getcwd()),实例如下:
3.删除文件(os.remove()),实例如下:
删除文件需确保文件确实存在
4.修改文件/目录名(os.rename()),实例如下:
修改文件名需要确定文件存在
5.遍历目录下的所有文件(os.walk),实例如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os for dirs,paths,names in os.walk(os.getcwd()):
for path in paths:
print path for name in names:
print os.path.join(dirs,path,name)
输出如下:
.idea
D:\test_his\.idea\a.txt
D:\test_his\.idea\b.txt
D:\test_his\.idea\main.py
D:\test_his\.idea\scrpy.py
D:\test_his\.idea\test.py
D:\test_his\.idea\test1.py
inspectionProfiles
D:\test_his\.idea\inspectionProfiles\encodings.xml
D:\test_his\.idea\inspectionProfiles\misc.xml
D:\test_his\.idea\inspectionProfiles\modules.xml
D:\test_his\.idea\inspectionProfiles\test_his.iml
D:\test_his\.idea\inspectionProfiles\workspace.xml
D:\test_his\.idea\inspectionProfiles\inspectionProfiles\profiles_settings.xml
其余方法和函数简介如下:
名称 | 作用 | 备注 |
os.listdir(filedir) | 返回指定目录下的所有文件名和目录名 | 目录存在 |
os.removedirs(r'filedir') | 删除多个目录 | 目录存在 |
os.path.getsize(filename) | 获取文件大小 | |
os.path.splitext(filename) | 分离后缀名 | 分离最后一个.符号后面的前后内容 |
os.path.isfile() | 判断是否为文件 | |
os.path.isdir() | 判断是否为目录 | |
os.path.split() | 分离文件目录和文件名 | |
os.path.dirname() | 获取路径名 | |
os.path.islink() | 是否存在链接 | |
os.mkdir() | 创建目录 | |
os.makedirs() | 创建多个目录 | |
os.chmod() | 修改权限 | |
os.stat | 获取文件属性 | |
shutil.copyfile() | 拷贝文件 | |
shutil.copy(file,path) | 拷贝文件到目录 | |
shutil.copytree(path,newpath) | 拷贝整个目录 | |
shutil.move() | 移动文件或者目录 | |
shutil.rmtree(dir) | 删除目录 |