python中文件类的应用
python中对文件、文件夹的操作需要涉及到os模块和shutil模块。
创建文件: 1) os.mknod("test.txt") 创建空文件 2) open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件
创建目录: os.mkdir("file") 创建目录 os.makedirs('file') 创建多级目录
复制文件: shutil.copyfile("oldfile","newfile") oldfile和newfile都只能是文件 shutil.copy("oldfile","newfile") oldfile只能是文件夹,newfile可以是文件,也可以是目标目录
复制文件夹: shutil.copytree("olddir","newdir") olddir和newdir都只能是目录,且newdir必须不存在
重命名文件(目录) os.rename("oldname","newname") 文件或目录都是使用这条命令
移动文件(目录) shutil.move("oldpos","newpos")
删除文件 os.remove("file")
删除目录 os.rmdir("dir") 只能删除空目录 shutil.rmtree("dir") 空目录、有内容的目录都可以删
转换目录 os.chdir("path") 换路径
判断目标 os.path.exists("goal") 判断目标是否存在 os.path.isdir("goal") 判断目标是否目录 os.path.isfile("goal") 判断目标是否文件 |
os.walk遍历rootdir的根目录,返回父目录名字,文件夹名字列表,文件名字列表
#for parent,dirnames,filenames in os.walk(rootdir):
# for dirname in dirnames:
# print "parent is :"+parent
# print "dirname is :"+dirname
# if dirname.startswith('Day'+)
#
# for filename in filenames:
# print "parent is:"+parent
# print "filename is :"+filename
# print "the full name of the file is:"+os.path.join(parent,filename)#组合在一起
批量从某个目录下复制东西到新的目录:
#coding=UTF-8
import os
import os.path
import shutil
oldrootdir=r'F:\安卓学习\Android'
newrootdir=r'F:\安卓学习\打包代码-送人'
i=10
for olddirname in os.listdir(oldrootdir):
if olddirname.startswith('Day'+str(i)):
print olddirname
i+=1
for olddestname in os.listdir(oldrootdir+'\\'+olddirname):
baseoldname=oldrootdir+'\\'+olddirname
if olddestname.startswith("PPT"):
shutil.copytree(baseoldname+'\\'+olddestname,newrootdir+'\\'+olddirname+'\\'+olddestname)
if olddestname.startswith("作业"):
shutil.copytree(baseoldname+'\\'+olddestname,newrootdir+'\\'+olddirname+'\\'+olddestname)
批量删除目录:
#coding=UTF-8
import os
name=r'F:\安卓学习\打包代码-送人'
i=1
for dirname in os.listdir(name):
if dirname.__eq__('DAY0'+str(i)):
os.rmdir(name+'\\'+dirname)
i+=1
判断大小筛选:
#coding=UTF-8
import os
name=r'F:\代码Demo习题集\python\python代码\爬虫'
for jpgname in os.listdir(name):
if jpgname.endswith('.jpg'):
size=os.path.getsize(jpgname)
if size<200000:
os.remove(jpgname)