如何在pypy中的.py文件中打开python中的.py文件?

时间:2012-12-06 19:32:19

标签: python pypy

我的程序目前包含2个.py文件。

我在pypy中运行代码的主要部分(速度更快),然后在python中打开第二个文件,使用matplotlib.pyplot绘制我的数据。

我已设法打开使用:

subprocess.Popen(['C:\\python26\\python.exe ','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()

但是,我希望能够将参数传递给在python中打开的plot_function。这可能吗?

2 个答案:

答案 0 :(得分:2)

是的,Popen构造函数采用长度为n的列表。 See the note here.所以只需将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)

答案 1 :(得分:0)

最简单的方法是os.system("main_plot.py arg")