学术资讯 » 学术资源

  • 首 页
  • 期刊选题
  • 期刊点评
  • 期刊大全
  • 学人博客
  • 编辑征稿
  • 投稿选刊
  • 万维群组
  • 学术会议
  • 万维读书
  • SCI/E期刊
  • SSCI期刊
  • AHCI期刊
  • 几个python小脚本

    阅读: 2022/3/23 14:35:54

    两个我常用的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()

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

    浏览(365)
    点赞(0)
    收藏(0)
  • 上一篇:ABAQUS本构调整及常见问题解决办法

    下一篇:EndNote修改文献字体、字号、行距

  • 首页

  • 文章

  • 期刊

  • 帮助

  • 我的

版权所有 Copyright@2023    备案号:豫ICP备2021036211号