python中文件类的应用

时间:2023-03-09 01:02:10
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)