這是我與工作的代碼來自實際編程:process_file(sys.argv中[1])IndexError:列表索引超出範圍
import sys
def process_file(filename):
'''Open, read, and print a file.'''
input_file = open(filename, "r")
for line in input_file:
line = line.strip()
print line
input_file.close()
if __name__ == "__main__":
process_file(sys.argv[1])
導入後該模塊在IDLE,並通過文本文件參數通過process_file(),我收到此錯誤:
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
process_file("data.txt")
File "C:\Python26\read_file_2.py", line 14, in process_file
process_file(sys.argv[1])
IndexError: list index out of range
我怎樣才能讓這個程序沒有收到這個錯誤的工作?任何幫助表示讚賞。
它是'sys.argv [0]'還是'sys.argv [1]'?你不一致。 ;)如果是1,我猜測沒有參數傳遞。 – Bobby 2010-08-03 13:32:00
首先請發佈導致錯誤的實際代碼 - 請注意,您的代碼中有'sys.argv [1]',但是回溯中有'sys.argv [0]'。其次,請確保您的縮進在您的發佈代碼中是正確的 - 在Python中,空格是重要的,這一點更爲重要。 – 2010-08-03 13:36:18
我的不好,我已經嘗試將代碼更改爲sys.argv [0]並複製錯誤的錯誤消息。編輯出來。 – Timmay 2010-08-03 13:48:38