第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

運(yùn)行此代碼時(shí)我做錯(cuò)了什么?

運(yùn)行此代碼時(shí)我做錯(cuò)了什么?

手掌心 2022-01-18 13:33:10
首先,我絕不是編程專家,也不精通python,如果這是一個(gè)愚蠢的問題,請(qǐng)?jiān)徫摇N艺趪L試運(yùn)行下面的代碼,以使用“ID”文件將 fasta 文件過濾到我想要的序列,但每次運(yùn)行它時(shí),都會(huì)出現(xiàn)錯(cuò)誤。任何幫助是極大的贊賞!"""%prog file.fasta wanted_ids.txt"""from Bio import SeqIOimport syswanted = [line.strip() for line in open(sys.argv[2])]seqiter = SeqIO.parse(open(sys.argv[1]), 'fasta')SeqIO.write((seq for seq in seqiter if seq.id in wanted), sys.stdout, "fasta")這是我得到的錯(cuò)誤:File "filter.py", line 7, in <module>    wanted = [line.strip() for line in open(sys.argv[2])]IndexError: list index out of range
查看完整描述

2 回答

?
烙印99

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊

我希望它可以幫助你 with open (sys.argv[2]) as file_:    for line in file_:


查看完整回答
反對(duì) 回復(fù) 2022-01-18
?
紅顏莎娜

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊

只有在運(yùn)行程序時(shí)沒有將預(yù)期數(shù)量的參數(shù)傳遞給程序時(shí),才會(huì)發(fā)生您描述的異常。該sys.argv變量包含程序的參數(shù)。它將是一個(gè)列表,并且sys.argv[0]將具有腳本本身的文件名,而后面的值將是后面?zhèn)魅氲膮?shù)。


您的程序的文檔字符串 ( %prog file.fasta wanted_ids.txt) 表明您需要將兩個(gè)參數(shù)傳遞給程序,一個(gè)是.fasta文件,另一個(gè)是.txt文件。您忽略了其中一個(gè)或兩個(gè)參數(shù),因此程序無法執(zhí)行查找sys.argv[2], 并引發(fā)IndexError.


你可能想在你的程序中添加代碼來檢查參數(shù)的數(shù)量,并在你得到錯(cuò)誤的數(shù)字時(shí)給出一個(gè)更有幫助的異常:


from Bio import SeqIO

import sys


if len(sys.argv) != 3:

    sys.exit("Bad arguments! Usage: {} <file.fasta> <wanted_ids.txt>".format(sys.argv[0]))


wanted = [line.strip() for line in open(sys.argv[2])]

#...


查看完整回答
反對(duì) 回復(fù) 2022-01-18
  • 2 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)