[問題] 不同電腦上同樣的code卻執行結果不一樣?

作者: sariel0322 (sariel)   2014-07-01 15:25:19
我在家裡跟lab想跑一個code,結果家裡跑得出來
但是在lab裡跑卻顯示"list index out of range "
想請問一下為什麼,是記憶體的問題嗎?
程式碼如下:
import gzip
import cPickle
cog_cats = {}
cogs_seqs = {}
cog_names = {}
pfam_seqs = {}
pfam_cog = {}
import os
if 'pfam_cog_dict.p' not in os.listdir('.'):
## map cog name to cog category
print 'mapping cog name to cog category'
with open('cogs.csv', 'r') as cog_file:
for line in cog_file:
line = line.rstrip()
line = line.split(',')
cog_cats[line[0]] = line[1]
cog_names[line[0]] = line[2]
print cog_cats
print cog_names
讀取的檔案的網址(.csv):
ftp://ftp.ncbi.nih.gov/pub/wolf/COGs/COG0303/cogs.csv
還請大家幫我解惑
作者: ck574b027 (荒圍!定厝!賊!妹!)   2014-07-01 15:57:00
應該要附上 error 在哪裡出錯,我猜是 split 之後的index,line 印出來看看長什麼樣子吧。
作者: tiefblau (tiefblau)   2014-07-01 18:04:00
你要用噴error那台印line 才看的出東西阿
作者: monkeytiger (JOSE)   2014-07-01 19:49:00
如果csv檔案中間有空白行或者是沒有第2第3欄欄位資料就會爆出index out of range
作者: yauhh (小y寶貝)   2014-07-02 14:28:00
除了判斷OS不同之外,你可以再確認Python版本是否不同.並且在出錯的那一行之前寫個print(len(line))來看看

Links booklink

Contact Us: admin [ a t ] ucptt.com