0

私のプログラムは現在2つの.pyファイルで構成されています。

コードの主要部分をpypy(はるかに高速)で実行してから、を使用してデータをプロットする2番目のファイルをPythonで開きますmatplotlib.pyplot

私はなんとか使用を開くことができました:

subprocess.Popen(['C:\\python26\\python.exe ','main_plot.py',])

これで2番目のファイルが開きます...

import matplotlib.pyplot as pyplot
def plot_function(NUMBER):
    '''some code that uses the argument NUMBER'''
    pyplot.figure()
    ---plot some data---
    pyplot.show()

plot_functionただし、 Pythonで開くに引数を渡せるようにしたいと思います。それは可能ですか?

4

2 に答える 2

2

はい、Popenコンストラクターは長さnのリストを取ります。こちらのメモをご覧ください。したがって、main_plot.pyの引数をリストに追加するだけです。

subprocess.Popen(['C:\\python26\\python.exe ','main_plot.py','-n',1234])

編集(編集に応答するため):

関数を呼び出すためのコマンドライン引数を受け入れるように、main_plot.pyを変更する必要があります。これはそれを行います:

import matplotlib.pyplot as pyplot
def plot_function(NUMBER):
    '''some code that uses the argument NUMBER'''
    pyplot.figure()
    ---plot some data---
    pyplot.show()

import argparse
if __name__=="__main__":
    argp=argparse.ArgumentParser("plot my function")
    argp.add_argument("-n","--number",type=int,default=0,required=True,help="some argument NUMBER, change type and default accordingly")
    args=argp.parse_args()
    plot_function(args.number)
于 2012-12-06T19:38:44.417 に答える
0

最も簡単な方法はos.system("main_plot.py arg")

于 2012-12-06T19:38:26.323 に答える