文本中除开头两行每行都记录着另外一些文本的文件名,并已经排好序,根据这些文件名把文件从文件夹中复制到另外一个文件夹,并在文件名前根据在文本中的顺序加上序号
import os
f = open("molscore.txt")
lines = f.readlines()
mol_list = []
i=1
for line in lines:
if i<=100 and not line.startswith("mol") and not line.startswith("\n"):
if i<10:
mol_list.append("0"+str(i)+"__"+line.split("\t")[0])
else:
mol_list.append(str(i)+"__"+line.split("\t")[0])
i=i+1
copytopath="/usr/local/result"
if not os.path.exists(copytopath):
os.mkdir(copytopath)
for mol in mol_list:
mol_path= "/usr/local/testout/"+mol.split("__")[1]+"_poses.mol2"
copyto="/usr/local/result/"+mol+"_poses.mol2"
# print mol_path
cmd = "cp %s %s" % (mol_path,copyto)
# print cmd
os.system(cmd)
f.close()
当读取的文件较大时,用readlins()一次性读取,不知会不会产生内存溢出,还是直接用readline一行一行读取好呢?