所以我有這樣的代碼:如何在python生成的輸出保存在一個txt文件
disfile = open('filename.txt')
for line in disfile:
list = line.split()
id = list[4]
if id == 'sequence':
name = list[0]
Sequence = list[5]
elif id == 'disorder':
Disorder = list[5]
print name, ' ', 'Sequence:',' ', Sequence,' ', 'Disorder:',' ', Disorder
而這所有的數據和後序印刷在Python編輯器或閒置。但是我想生成一個包含所有已打印內容的文件。任何人都可以幫助我!
所以我的文件看起來像這樣:
101M:A:序列MVLSEGEWQLVLHVWAKVEADVAGHGQDILIRLFKSHPETLEKFDRVKHLKTEAEMKASEDLKKHGVTVLTALGAILKKKGHHEAELKPLAQSHATKHKIPIKYLEFISEAIIHVLHSRHPGNFGADAQGAMNKALELFRKDIAAKYKELGYQG 101M:A:secstr HHHHHHHHHHHHHHGGGHHHHHHHHHHHHHHH GGGGGG TTTTT噓HHHHHHHHHHHHHHHHHHTTTT HHHHHHHHHHHHHTS HHHHHHHHHHHHHHHHHH GGG SHHHHHHHHHHHHHHHHHHHHHHHHTT
101M:A:障礙----- -------------------------------------------------- -------------------------------------------------- ------------------------------------------------- 102L:A:序列MNIFEMLRIDEGLR LKIYKDTEGYYTIGIGHLLTKSPSLNAAAKSELDKAIGRNTNGVITKDEAEKLFNQDVDAAVRGILRNAKLKPVYDSLDAVRRAALINMVFQMGETGVAGFTNSLRMLQQKRWDEAAVNLAKSRWYNQTPNRAKRVITTFRTGTWDAYKNL 102L:A:secstr HHHHHHHHH EEEEEE TTS EEEETTEEEESSS TTTHHHHHHHHHHTS TTB HHHHHHHHHHHHHHHHHHHHH TTHHHHHHHS HHHHHHHHHHHHHHHHHHHHT HHHHHHHHTT HHHHHHHHHSSHHHHHSHHHHHHHHHHHHHSSSGGG
102L:A:無序------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------- XX 102M:A:序列MVLSEGEWQLVLHVWAKVEADVAGHGQDILIRLFKSHPETLEKFDRFKHLKTEAEMKASEDLKKAGVTVLTALGAILKKKGHHEAELKPLAQSHATKHKIPIKYLEFISEAIIHVLHSRHPGNFGADAQGAMNKALELFRKDIAAKYKELGYQG 102M:甲:secstr HHHHHHHHHHHHHHGGGHHHHHHHHHHHHHHH GGGGGG TTTTT SHHHHHH HHHHHHHHHHHHHHHHHHTTTT HHHHHHHHHHHHHTS HHHHHHHHHHHHHHHHHH TTT HHHHHHHHHHHHHHHHHHHH HHHHHT
102M:A:障礙------------------------------------------ -------------------------------------------------- -------------------------------------------------- ------------ 103L:A:序列MNIFEMLRIDEGLRLKIYKDTEGYYTIGIGHLLTKSPSLNSLDAAKSELDKAIGRNTNGVITKDEAEKLFNQDVDAAVRGILRNAKLKPVYDSLDAVRRAALINMVFQMGETGVAGFTNSLRMLQQKRWDEAAVNLAKSRWYNQTPNRAKRVITTFRTGTWDAYKNL 103L:A:secstr HHHHHHHHH EEEEEE TTS EEEETTEE HHHHHHHHHHHHTS TTB HHHHHHHHHHHHHHHHHHHHH TTTHHHHHHS HHHHHHHHHHHHHHHHHHHHT HHHHHHHHTT HHHHHHHHHSSHHHHHSHHHHHHHHHHHHHSSSGGG
103L:A:紊亂------- --------------------------- XXXXXX ---------------------- -------------------------------------------------- -------------------------------------------------- --- XX
後,我添加的代碼:
進口SYS sys.stdout的=打開( 'OUTPUTFILE', 'W') 打印 '測試' # '測試' 將在輸出文件
因此我的代碼變成:
disfile = open('filename.txt')
for line in disfile:
list = line.split()
id = list[4]
if id == 'sequence':
name = list[0]
Sequence = list[5]
elif id == 'disorder':
Disorder = list[5]
import sys
sys.stdout = open('newfile.txt', 'w')
print name, ' ', 'Sequence:',' ', Sequence,' ', 'Disorder:',' ', Disorder
它確實生成一個文件,但只有最後一個序列出現在該文件中,發生了什麼?
用你的shell將其與你的文件一起放入一個文件:'python foo.py> file.txt'。 – Blender