-1

6 つの入力を受け取る .py で記述されたファイルがあります。

これに似たワンライナーがあるかどうかを確認しています。

python myprog.py(1,2,1,1,2,4) 

どうもありがとう。

4

2 に答える 2

0

リストを介して Python プログラムに引数を渡すことができますsys.argvCargc,argv規則と同様に、文字列として渡されます。

シェル:

$ python myprog.py 1 2 1 1 2 4

myprog.py:

import sys
print [int(x) for x in sys.argv[1:]]

ご覧のとおり、最初のメンバーをsys.argv 除くすべてのメンバーを使用しています。argv[0]のように、最初のメンバーCはプログラム名です。

Python プログラムで関数が既に定義されている場合は、これをファイルの末尾に追加できます。

if __name__ == '__main__':
    MyFunction([int(x) for x in sys.argv[1:]])

別の方法として、Python プログラムを変更したくない場合で、既に標準入力ストリームから入力を読み取っている場合は、シェル プログラミングを使用できます。

echo 1 2 1 1 2 4 | python myprog.py 

または、プログラムが入力を読み取る方法に応じて、次のようになります。

$  python myprog.py << woof
> 1
> 2
> 1
> 1
> 2
> 4
> woof
于 2013-07-29T15:07:33.860 に答える
0

myprog.py に、次のコードを追加します。

import sys
myparams = [int(i) for i in sys.argv[1:]]
myFunc(*myparams)

これで、コマンド ラインからこれを実行できるはずです。

python myprog.py 1 2 1 1 2 4
于 2013-07-29T15:08:55.177 に答える