Python寻找文件以及移动文件

2019-05-06  本文已影响0人  ZeroDesigner

版本:

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

猜你喜欢

热点阅读