2017-12-24 13 views
0

コマンドラインから1つのパラメータを受け取るa.pyというPythonスクリプトがあります。 a.pyは、次のように呼び出されます。python a.py 1ここで、1はパラメータ値です。異なるパラメータ値を持つ単一のPythonスクリプトの実行

python a.py 1 & 
python a.py 2 & 
python a.py 3 

私は一つだけa.pycファイルを参照してください。今、私はこのような単一マシン上の異なる3つのパラメータ値でa.pyを実行したとします。なぜ私は3つの異なるパラメータ値で3回プログラムを呼び出すので、a.pycファイルが1つしかないのだろうかと思います。なぜなら3つのa.pycファイルがあるでしょうか?そうでない場合は、a.pycファイルに3つのパラメータ値のすべてを含めることができなかったので、パラメータ値(つまり、1,2,3)はどこに保存されていますか?

+1

'a.pyc'はプログラムに渡されたパラメータを保存しません...(実際にはパラメータとして渡すものと同じ脆弱性があります。悪意のあるものがこのファイルに書き込まれます)。 Pythonがこのファイルの3つのコピーを作成すると思いますか? 1つの 'a.pyc'を作成し、それを異なる引数で実行します。 – ForceBru

+0

なぜ3回実行しますか? 1つのファイルに3つのパラメータを入力したいですか? –

答えて

0

このDifference py and pyc

を参照してください。基本的にはあなたが渡しているパラメータだけで、システムの引数です。 Pyファイルがコンパイルされると、Byte Codeに変換されます。システム引数はコマンドラインからの入力パラメータなので、同じコードベースのPycファイルは1つだけです。

+0

OKですが、 'a.py'を修正して最初のスクリプト(元の' a.py')と同時に実行すると、最初のスクリプトは誤った出力を生成します、はい?修正された 'a.py'を実行した後、最初のスクリプトに影響を与える' a.pyc'が変更されると思います。 – user131379

関連する問題