这是定义变量的地方,现在它应该作为参数a(目录,文件名,slicesize)接收,但当我插入它时,给我一个“列表索引超出范围”的错误,是吗这段代码中出了什么问题?或者我是否错误地称呼它?
if __name__=="__main__":
dirname = sys.argv[1]
filename = sys.argv[2]
slicesize = int(sys.argv[3])
sort_big_text_file(dirname,filename,slicesize)
sort_big_text_file('C:/Python/','dotcom_data.txt', 100000)
答案 0 :(得分:1)
数组通常从索引0开始。您的意思是使用
if __name__=="__main__":
dirname = sys.argv[0]
filename = sys.argv[1]
slicesize = int(sys.argv[2])
sort_big_text_file(dirname,filename,slicesize)
你有3个参数吗?你可以使用
检查if len(sys.argv) < 3:
sys.stderr.write('error: not enough arguments')
答案 1 :(得分:0)
我正在做的问题是我在最后执行时调用了函数,而且应该在最后一个函数之前出现,我相信你会称之为main。所以,而不是我做的,像这样:
sort_big_text_file('C:/Python/','com_data.txt', 100000)
if __name__=="__main__":
dirname = sys.argv[1]
filename = sys.argv[2]
slicesize = int(sys.argv[3])
sort_big_text_file(dirname,filename,slicesize)