Python的os和shutil模块包含很多操作文件和目录的函数。os可以执行简单的文件夹及文件操作,但有些函数在os.path中。可用help()和dir()查看其用法和属性。
shutil模块提供了大量文件和文件夹高级操作。
1、判断路径或文件总结
os.path.isabs(...) #是否为绝对路径
os.path.exists(...) #是否真实存在
os.path,isdir(...) #判断是否是一个目录(windows--文件夹)
os.path.isfile(...) #判断是否是一个文件
2、两个路径合为一个
os.path.join(part1,part2) # 不要直接将字符串拼在一起
3、路径名、文件名分割总结
os.path.split(...) #分割目录和文件名,或目录与其下的文件夹名;自动将路径字符串最后一个文件或文件夹名与目录分割
os.path.splitdrive(...) #分割盘符(windows系统)
os.path.splitext(...) #分割文件和扩展名
4、工作目录及创建文件夹总结
os.getcwd() #获取当前工作目录
os.chdir(...) #改变工作目录 ‘.‘表示当前目录,‘..’表示上级目录
os.listdir(...) #列出目录下的文件--以list的形式
os.mkdir(...) #创建单个目录(文件夹) os.mkdir(‘test‘) ---> 在当前工作目录中创建了名为test的文件夹
os.makedirs(...) #创建多级目录 os.makedirs(‘test\\test_son‘)----->在当前目录的下级目录test中创建名为test_son的文件夹
# Note:可以使用for...in循环,创建多个文件夹
# for i in range(1,5):
dir_name = ‘test‘ + str(i)
os.mkdir(dir_name) # 执行完毕后,在当前工作目录中创建了test1\test2\test3\test4 四个文件夹
5、删除文件夹或文件总结
os.rmdir(...) #删除空文件夹,必须为空文件夹
os.remove(...) #删除单一文件
shutil.rmtree(...) 删除文件夹及其下的所有文件,此时要先切换到其上级目录作为当前工作目录 shutil.rmtree(‘test‘)----->当前工作目录下的test文件夹及其下所有文件被删除
6、重命名文件夹或文件总结
os.rename(‘oldname‘,‘newname‘)
7、复制、移动文件夹或文件总结--------必须用shutil模块
shutil.copyfile(‘oldfile‘,‘newfile‘) #复制文件(非文件夹),必须带扩展名
shutil.copytree(‘old‘,‘new‘) #复制目录,且new必须不存在,old目录下的文件和文件夹也copy到new中了
shutil.copy(‘old,‘new‘)
-------- shutil.copy(‘oldfile’,‘newfile) #Copy文件,要带扩展名,此时同shutil.copyfile(‘old‘,‘new‘)
-------- shutil.copy(‘oldfile‘,‘folder‘) #将文件oldfile(必须带扩展名)拷贝到文件夹folder中,folder必须存在;若不存在,则产生一个指令文件
shuitl.move(‘oldfile‘,‘folder‘) #将文件oldfile(必须带扩展名)移动到文件夹folder中
shutil.move(‘folder1‘,‘folder2‘) #将文件夹folder1转移到folder2中