python批量處理

2022-07-04 02:18:10 字數 2288 閱讀 7380

#

-*- 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資料夾中遍歷提取符合要求的資料,並寫入另乙個資料夾:

1

#-*- coding: utf-8 -*-

2"""

3created on sun jun 21 13:03:19 201545

@author: chaofan

6"""78

import

os

9import

re10

#列出dssp資料夾中的所有檔名,返回的是乙個列表

11 files=os.listdir('

g:/manesh_dssp')

12#遍歷整個資料夾

13for filename in

files:14#

將檔案的名稱和副檔名分離

15 portion=os.path.splitext(filename)16#

將每個檔案字尾.dssp轉化成.fasta。以便訪問.fasta的檔案

17 fastafile=portion[0]+'

.fasta'18

#開啟引數指定的fasta檔案

19 fp=open('

g:/manesh_fasta/%s

' %fastafile)20#

讀取檔案的第一行

21 strline=fp.readlines()[0]22#

用正則式提取該行的乙個字母

23 letter=re.search('

:([a-z])\|

',strline).group(1)24#

開啟引數指定的dssp檔案

25 fr=open('

g:/manesh_dssp/%s

' %filename)26#

生成字尾名為txt的檔案

27 txtfile=portion[0]+'

.txt

'28 fw=open('

g:/manesh_acc/%s

' %txtfile,'w'

)29#從每個dssp檔案的第28行開始讀取

30for line in fr.readlines()[28:]:

31 linelist=32#

如果第11個字元等於引數字元,則寫入

33if line[11]==letter:

34 linelist.extend([line[7:10],line[11],line[13],line[35:38],'\n'

])35

#將列表轉化成字串並寫入檔案

36 fw.write('

'.join(linelist))37#

關閉流38

fw.close()

39fr.close()

40 fw.close()

python 批量處理檔案重新命名

usr bin env python coding utf8 這是個有意思的操作,一次我麼在批量重新命名檔案的時候,不小心把當前所有的目錄下的jpg 檔案字尾去了,導致程式無法識別所有的檔案,將近50000個檔案,於是就誕生了個批量處理的程式 import os,sys,re,shutil olds...

檔名批量處理 python

批量去除檔名中特殊字元 以去除 signal 1.jpg 中的 為例,所用函式re.sub sub 函式使用規則 re.sub 要操作的原字元 目標字元 操作字串 例如 name signal 1.jpg newname re.sub d name d表示非數字 print newname l1檔案...

用Python簡單批量處理資料

近期碰到乙個問題,兩套系統之間資料同步出了差錯,事後才發現的,又不能將業務流程倒退,但是這麼多資料手工處理量也太大了,於是決定用python偷個小懶。1 首先分析資料。兩邊資料庫欄位的值都是一樣,先將這邊資料庫的資料查詢匯出,正好是2列 120多行的資料。那麼目標就是拼接成 update from ...