python批量处理
# -*- coding: utf-8 -*-
"""
Created on Sat Jun 20 19:36:34 2015 @author: chaofn
"""
import os """
这个程序的目的是将linux下/ifs/home/fanchao/Manesh_pdb目录中的所有文件(一共有215个文件)
批处理
将pdb文件生成dssp文件 """
#listdir返回文件名的列表
fileLine=os.listdir('/ifs/home/fanchao/Manesh_pdb')
#遍历整个列表
for i in range(len(fileLine)-1):
#将字符串用变量表示
input_file='/ifs/home/fanchao/Manesh_pdb/'+fileLine[i]
#先去掉文件名的后缀,然后形成后缀为dssp的文件名
out_file=fileLine[i].split('.')[0]+'.dssp'
output_file='/ifs/home/fanchao/Manesh_dssp/'+out_file
#注意:参数的传递(先是%s,然后是%变量名),多个变量的传入要用元组表示,在元组前用%
os.system('/ifs/share/lib/dssp/dssp2 -i %s -o %s' %(input_file,output_file))
批量处理数据:从dssp文件夹中遍历提取符合要求的数据,并写入另一个文件夹:
# -*- coding: utf-8 -*-
"""
Created on Sun Jun 21 13:03:19 2015 @author: chaofan
""" import os
import re
#列出dssp文件夹中的所有文件名,返回的是一个列表
files=os.listdir('G:/Manesh_dssp')
#遍历整个文件夹
for filename in files:
#将文件的名称和扩展名分离
portion=os.path.splitext(filename)
#将每个文件后缀.dssp转化成.fasta。以便访问.fasta的文件
fastaFile=portion[0]+'.fasta'
#打开参数指定的fasta文件
fp=open('G:/Manesh_fasta/%s' %fastaFile)
#读取文件的第一行
strLine=fp.readlines()[0]
#用正则式提取该行的一个字母
letter=re.search(':([A-Z])\|',strLine).group(1)
#打开参数指定的dssp文件
fr=open('G:/Manesh_dssp/%s' %filename)
#生成后缀名为txt的文件
txtFile=portion[0]+'.txt'
fw=open('G:/Manesh_ACC/%s' %txtFile,'w' )
#从每个dssp文件的第28行开始读取
for line in fr.readlines()[28:]:
lineList=[]
#如果第11个字符等于参数字符,则写入
if line[11]==letter:
lineList.extend([line[7:10],line[11],line[13],line[35:38],'\n'])
#将列表转化成字符串并写入文件
fw.write(' '.join(lineList))
#关闭流
fw.close()
fr.close()
fw.close()
python批量处理的更多相关文章
- python批量进行文件修改操作
python批量修改文件扩展名 在网上下载了一些文件,因为某种原因,扩展名多了一个后缀'.xxx',手动修改的话因为文件太多,改起来费时费力,于是决定写个小脚本进行修改. 1.要点: import r ...
- Python批量修改文本文件内容
Python批量替换文件内容,支持嵌套文件夹 import os path="./" for root,dirs,files in os.walk(path): for name ...
- python批量修改linux主机密码
+++++++++++++++++++++++++++++++++++++++++++标题:python批量修改Linux服务器密码时间:2019年2月24日内容:基于python实现批量修改linu ...
- 用python批量向数据库(MySQL)中导入数据
用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同 Current database: pyt ...
- python批量给云主机配置安全组
python批量给云主机配置安全组 用公有云的思路去思考去实现一个安全稳定.可伸缩和经济的业务构架,云运维是有别与传统运维的,比如说了解公有云的都知道安全组的概念,安全组跟防火墙功能很相似,那我的机器 ...
- 用Python批量下载DACC的MODIS数据
本人初次尝试用Python批量下载DACC的MODIS数据,记下步骤,提醒自己,数据还在下载,成功是否未知,等待结果中...... 若有大佬发现步骤有不对之处,望指出,不胜感激. 1.下载Python ...
- Python批量修改图片格式和尺寸
Python批量修改图片格式和尺寸 备注: 1.导入了PIL库,是处理图片用的,很强大; 2.导入了的win32库,是判断隐藏文件用的,我们的项目需要删除隐藏文件,不需要的可以直接找到删除. 3.导入 ...
- tinypng的python批量压缩图片功能
tinypng网站提供的图片压缩功能很不错,但是直接在网站上压缩有限制,大量压缩图片时比较麻烦,还好官方提供了很多脚本的自动化压缩接口.下面简单说下python批量压缩步骤. 1.申请api key ...
- Python批量复制和重命名文件
Python批量复制和重命名文件 示例代码 #! /usr/bin/env python # coding=utf-8 import os import shutil import time impo ...
- Python批量自动裁剪图片
"""用Pythonp批量裁剪图片""" from PIL import Image import matplotlib.pyplot as ...
随机推荐
- ES6原生Promise的所有方法介绍(附一道应用场景题目)
JS的ES6已经出来很久了,作为前端工程师如果对此还不熟悉有点说不过去.不过如果要问,Promise原生的api一共有哪几个?好像真的可以难倒一票人,包括我自己也忽略了其中一个不常用的API Prom ...
- 创建一个可用的简单的SpringMVC项目,图文并茂
转载麻烦注明下来源:http://www.cnblogs.com/silentdoer/articles/7134332.html,谢谢. 最近在自学SpringMVC,百度了很多资料都是比较老的,而 ...
- [array] leetcode - 34. Search for a Range - Medium
leetcode - 34. Search for a Range - Medium descrition Given an array of integers sorted in ascending ...
- bzoj 4569: [Scoi2016]萌萌哒
Description 一个长度为n的大数,用S1S2S3...Sn表示,其中Si表示数的第i位,S1是数的最高位,告诉你一些限制条件,每个条 件表示为四个数,l1,r1,l2,r2,即两个长度相同的 ...
- git stash的用法
使用git stash git stash的使用场景是这样的: 当你正在你的分支下进行开发时,这时候你可能需要切换到你的另一个分支去,你可能要pull新的代码下来,但是你又不想添加无用的commit. ...
- Java Serializable接口(序列化)理解及自定义序列化
1 Serializable接口 (1)简单地说,就是可以将一个对象(标志对象的类型)及其状态转换为字节码,保存起来(可以保存在数据库,内存,文件等),然后可以在适当的时候再将其状态恢复(也就是反 ...
- 利用伪元素:after清除浮动
一.代码 html代码 <div class="clearfix"></div> css样式 .clearfix{ zoom:1;/*这个属性是为了兼容IE ...
- Python学习_09_模块
模块 模块是python中的最高组织单元,在物理层面上,模块以文件存储,模块的文件名就是模块的名字.py,每个模块都有自己的名称空间. python按照路径搜索来查找模块文件,在PYTHONPATH环 ...
- Git与GitHub学习笔记(八)git如何同时同步提交到码云和GitHub上
前言: 今天github push代码一直push不上去,打算就备份一份代码带国内开源码云上. Github容易出现的情况是: 国内访问速度比较慢, 如果被墙掉的话,就直接没发使用了 如果开源个PHP ...
- 【Python3的函数初识】
一.函数 1.什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率,可扩展性强. 2.函数的分类 在python中函数分两类:内 ...