0

これは変数が定義されている場所であり、引数として a (directory,filename,slicesize) を受け取ることになっていますが、プラグインすると「list index out of range」というエラーが表示されます。内部に何か問題がありますか?このコード?それとも私はそれを間違って呼んでいますか?

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)
4

2 に答える 2

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')
于 2012-06-28T20:54:54.787 に答える
0

私がやっていたことの問題は、最後に実行されたときに関数を呼び出していたということです。それは、最後の関数の前にあるはずです。これは、メインと呼ばれると思います。だから私がしたことの代わりに、このように:

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)
于 2012-06-28T21:15:17.250 に答える