版本:
python3.5
目的:
文件目录'/data/home/pdbqt/'下,有
new1.pdbqt
new2.pdbqt
.....
new1000000.pdbqt
共1000000个文件,需要选取前1oooo个文件,将其复制到'/data/home/100000/'下
脚本:
两个初级班,运行比较慢,进阶版很快,自己可以尝试比较下原因
初级版:(比较慢)
#导入各种包
import numpy as np
import os
import shutil
from shutil import copyfile
#创建一个等差数列,从1到100000
a=np.arange(1,100001,1)
#输入目录,pdbqt为所需文件夹,pdbqt1为输出文件夹
pdbqt='/data/home/pdbqt/'
pdbqt1='/data/home/100000/'
#循环以及移动文件
for i in range(len(a)):
file_name=re.sub('iii',str(a[i]),'newiii.pdbqt')
print(file_name)
#正则表达式,创建file_name,file_name为new1.pdbqt直到new10000.pdbqt
if file_name in os.listdir(pdbqt):
copyfile(pdbqt+file_name,pdbqt1+file_name)
#在pdbqt中寻找和file_name文件名一致的文件,并且将其移动到pdbqt1中
print('Done')
进阶版:(更快)
#导入各种包
import numpy as np
import re
import os
import sys
import shutil
from shutil import copyfile
#创建一个等差数列,从1到100000
a=np.arange(1,100001,1)
#输入目录
pdbqt='/data/home/pdbqt/'
pdbqt1='/data/home/100000/'
file=os.listdir(pdbqt)
for i in range(len(a)):
file_name=re.sub('iii',str(a[i]),'newiii.pdbqt')
if file_name in file:
print(file_name)
copyfile(pdbqt+file_name,pdbqt1+file_name)
print('Done')
'''
网友评论