在用Python对某一目录下的多个文件进行一一处理,会产生相应的多个结果。比如,在目录'/home/jkx/Anaconda_workspace/task_2017_6_6/ 下有100个.txt 文件,现在,用python对这100个文件进行处理,会得到100个结果文件,我们需要将得到的100个文件自动存入一个新建的目录下,相关代码如下:
import os
import shutil
#get names of files in the directory
def get_filename(filepath,filetype):
import os
filename = []
for root,dirs,files in os.walk(filepath):
for i in files:
if filetype in i:
filename.append(i)
return filename
def main():
srcfilepath = r'/home/jkx/Anaconda_workspace/task_2017_6_6/'
filetype = '.txt'
filename = get_filename(srcfilepath,filetype)
#文件名形如:“bacteria_5000bp_subsequence_1.txt”,对取得的文件名按照最后的编号排序
filename.sort(key = lambda x:int(x.split('_')[-1].split('.')[0]))
# 新建的目录路径
desfilepath = r'/home/jkx/Anaconda_workspace/task_2017_6_6/bacteria_5000bp_subsequence_mark'
os.mkdir(desfilepath) #新建目录
for i in range(len(filename)):
outfilenamei = 'bacteria_5000bp_subsequence_mark_' + str(i+1) + '.txt'
outfilei = open(outfilenamei,'w')
infilenamei = srcfilepath + filename[i]
infilei = open(infilenamei,'r')
'''
相关处理
.........
.........
.........
'''
infilei.close()
outfilei.close()
#将处理后的文件移动到新建的目录下
shutil.move(outfilenamei,desfilepath)
main()