python基础——批量进行文件操作
2020-03-18 本文已影响0人
刘年
1、批量创建文件目录
其实文件和目录操作难点无非是搞清楚先后的文件夹和文件名而已
- os.makedirs
可以不用管上级目录是否存在,也就是可以创建多级目录
import os
#批量生成目录文件夹
#os.makedirs
dq=os.getcwd()
print(dq)
for x in range(1,11):
filename = os.path.join(dq,'hg',str(x))
print(filename)
os.makedirs(filename)
- os.mkdir
上级目录必须存在,也就是说只能在现有目录下再建一级
import os
#批量生成目录文件夹
#os.mkdir
dq=os.getcwd()
print(dq)
for x in range(1,6):
filename = os.path.join(dq,str(x))
print(filename)
os.mkdir(filename)
2、批量创建文件
import os
cwd =os.getcwd()
dir_path =os.path.join(cwd,'ss')
os.makedirs(dir_path)
for x in range(1,11):
file_path =os.path.join(dir_path,str(x)+'.txt')
ff=open(file_path,'w')
ff.close()
3、批量修改文件名
import os
#读取文件夹下的文件名
filelist =os.listdir('ss')
#print(filelist)
for index,file in enumerate(filelist):
if '.txt' in file:
os.rename('ss\\'+file,'ss\\'+str(index+800)+'.txt')
else:
pass
4、批量移动文件
import os
import shutil
#移动前的文件夹和文件名
#路径:ss\\
olddir = input('原文件所在文件夹:')
filenames = os.listdir(olddir)
filedirs =list(map(lambda x:olddir+'\\'+x,filenames))
#移动后的文件夹
newdir =input('要将文件移动到:')
#判断文件夹是否存在
if os.path.isdir(newdir):
pass
else:
os.mkdir(newdir)
# newfiledirs = list(map(lambda x:newdir+'\\'+x,filenames))
#一定要是路径,不能是温文件名
for filedir in filedirs:
shutil.move(filedir,newdir)
5、批量复制文件
区别在于copyfile和move参数不一样,一个是文件对文件,一个是文件对文件夹
import os
import shutil
#移动前的文件夹和文件名
#路径:ss\\
cwd =os.getcwd()
olddir = input('原文件所在文件夹:')
filenames = os.listdir(olddir)
filedirs =list(map(lambda x:cwd+'\\'+olddir+'\\'+x,filenames))
#移动后的文件夹
newdir =input('要将文件移动到:')
#判断文件夹是否存在
if os.path.isdir(newdir):
pass
else:
os.mkdir(newdir)
newfiledirs = list(map(lambda x:cwd+'\\'+newdir+'\\'+x,filenames))
for index,filedir in enumerate(filedirs):
shutil.copyfile(filedir,newfiledirs[index])