我的程序目前包含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
。这可能吗?
答案 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")