投稿问答最小化  关闭

万维书刊APP下载

几个python小脚本

2022/3/23 14:35:54  阅读:240 发布者:chichi77

两个我常用的python小脚本,做批量对接的时候常用且省事的~


以下均是在Linux系统中完成~


1. 创建与pdb文件同名的文件夹

以下命令的功能是:创建与当前文件夹内pdb文件同名的文件夹,且把该pdb文件放在同名的文件夹内:


import os

import shutil

for a in os.listdir('.'):

    if os.path.isfile(a) and os.path.splitext(a)[1]=='.pdb':

        print(a)

        os.mkdir(os.path.splitext(a)[0])

        shutil.move(a,f'{os.path.splitext(a)[0]}/{a}')

2. 常用的循环命令

依次进入每个文件夹中,将log文件转移到log_file文件夹中:


for i in *;do cd $i; mv $i.log ../log_file;cd ..;done


3. 提取所有log文件中第一个etotal

该命令的作用是,将当前文件夹下的所有.log文件中的etotal提取出来,名保存在affinity.out文件中:




import glob

log_file = glob.glob('*.log')

print "find the following log files......"+'\n\n'

print log_file

print "<<<<<<<<<<<<<<<<<<<<<<<<"+'\n\n'

print ".......affinity extracting beginning......."+'\n'

file1=open("affinity.out",'w')

for i in log_file:

    file2=open(i,'r')

    data=file2.readlines()

    file2.close()

    for j in data:

        if len(j.split())>=2 and j.split()[0]=="1" and j.split()[1]=="1":

            affinity=i+"    "+j.split()[3]

            print affinity

            file1.writelines(affinity+'\n')

print ".......the end......."+'\n\n'

file1.close()

如有侵权,请联系本站删除!

  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com