Python之文件操作:文件、目录的操作

一、创建
1、创建文件
open(path,'w')
2、创建目录
(1)os.mkdir(pt[, mode=0777])
新建一个目录pt,参数mode表示生成的目录的权限,默认是超级权限,也就是0777。
(2)os.makedirs(pt) 创建多级目录 比如在python目录下创建\t1\t2\t3
3、创建临时文件
os.tmpfile() 已“w+b”的模式创建并打开一个临时文件。
缓存在内存中,不占用内存空间。用完不用删除,close()之后就不存在了
fp=os.tmpfile()
fp.write('fjwioe')
fp.seek(0)
print fp.read()
fp.close()
 
二、删除
1、删除文件
os.remove(‘e:\\tmp\\01.txt’) 删除一个文件
删除一个指定的文件,参数filePath表示文件所在的路径。
注意:该方法只能删除文件,不能删除目录。
2、删除目录
(1)os.rmdir()
删除单级空目录,若目录不为空则无法删除,会报错
(2)os.removedirs('e:\\python\\t1\\t2\\t3')删除多级目录
 
三、文件和目录的复制和移动
import shutil
复制或者移动一个文件,目录结构
1、shutil.copyfile(path1,path2) 复制文件
把文件path1的内容copy到文件path2中
2、shutil.move(path1,path2) 移动文件,文件夹
把文件path1移动到path2下
3、shutil.copy(path1,path2) 复制文件,文件夹
把文件path1复制到path2下
4、shutil.copytree(path1,path2) 复制整个目录结构
把path1 目录整个复制到path2下
5、shutil.rmtree( src )
递归删除一个目录以及目录内的所有内容
 
四、遍历文件和目录
1、os.walk(top,topdown=True,oneerror=None,folowlinks=False)
top:根节点
followlinks:一般不用
topdown=true 自顶而下的遍历
oneerror:没有值的时候,出现错误还会继续遍历
遍历文件和目录,返回结果是一个元祖类型
for i,j,k in os.walk('d:\\tmp')
i:返回当前的目录根节点
j:当前结点的下的所有目录
k:当前结点下的所有文件
没有值得情况,返回[]
eg:
for i,j,k in os.walk('d:\\tmp'):
print i
print j
print k
结果:
d:\tmp
[]
['test13.txt']
 
2、os.path.walk(top,func,arg)
python3以上就不支持这种遍历方式,不建议使用
func(arg,dirname,files):回调函数
arg:os.path.walk()中的arg
dirname:根目录
files:列表,所有的文件和文件夹
 
def findFile(arg, dirname, files):
print '*****************************'
print arg
print dirname
print files
os.path.walk('e:\\tmp',findFile,(1,2))
 
3、os.listdir('e:\\tmp')
列出指定目录下的所有文件和子目录,包括隐藏文件或目录,并以列表形式返回。
 
posted @ 2017-06-13 14:40  emily-qin  Views(951)  Comments(0Edit  收藏  举报