python基础——批量进行文件操作

2020-03-18  本文已影响0人  刘年

1、批量创建文件目录

其实文件和目录操作难点无非是搞清楚先后的文件夹和文件名而已

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)
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])
上一篇下一篇

猜你喜欢

热点阅读