0

モジュールsysを使用すると、次のようなコマンドライン引数を取得できます

import sys
for x in sys.argv:
    print x

次にコマンドshell[ubunto]で

>>python file.py 1, 2, 3

これはfile[filename]を出力します123pythondocumentaion3.0.1で疑問が生じます。

スクリプト名がPythonインタープリターに渡されなかった場合、argv[0]は空の文字列です。

>>python  1, 2, 3

スクリプト名を渡さないと、「ファイルを開けません」というエラーが発生します。スクリプト名を渡していない場合、argv [0]はどのようにして空の文字列に初期化されますか?

4

1 に答える 1

1

シェルでは、のようなことを行うかpython -c "print 'Hello World!'"、パイプを介してソースコードをPythonに入れることができます。このような場合、Pythonで使用できるファイル名はありません。他のすべての場合、Pythonにはファイル名があります。シバンラインを使用する場合でも:

#! /usr/bin/python

その後、電話します

./file.py 1, 2, 3

シェルはそれを正しいインタープリター呼び出しに変換します

python file.py 1, 2, 3
于 2013-01-08T06:54:40.263 に答える