我有一个用 Python 编写的程序,需要使用该程序的输出值作为同一 python 文件夹中的第二个程序的输入值。我想知道是否可以这样做;如果是这样,请告诉我使用了哪个模块,如果我能得到一个小例子,那就太好了。
例如,下面是第一个程序,从中我可以如何获取输出值“x”以在第二个程序中进行绘制。
from functools import partial
import numpy
import scipy.optimize
import matplotlib.pyplot as pp
def z(x, y):
return x * y - 30
x_window = 0, 15
y_window = 0, 5
xs = []
ys = []
for x in numpy.linspace(*x_window, num=200):
try:
# A more efficient technique would use the last-found-y-value as a
# starting point
y = scipy.optimize.brentq(partial(z, x), *y_window)
except ValueError:
# Should we not be able to find a solution in this window.
pass
else:
xs.append(x)
ys.append(y)
pp.plot(xs, ys)
pp.xlim(*x_window)
pp.ylim(*y_window)
pp.show()
最佳答案
重新排列代码并将所有内容放入函数中:
# file my_program.py
from functools import partial
import numpy
import scipy.optimize
import matplotlib.pyplot as pp
def z(x, y):
return x * y - 30
def make_data(x_window, y_window):
xs = []
ys = []
for x in numpy.linspace(*x_window, num=200):
try:
# A more efficient technique would use the last-found-y-value as a
# starting point
y = scipy.optimize.brentq(partial(z, x), *y_window)
except ValueError:
# Should we not be able to find a solution in this window.
pass
else:
xs.append(x)
ys.append(y)
return xs, ys
def plot(xs, ys, x_window, y_window):
pp.plot(xs, ys)
pp.xlim(*x_window)
pp.ylim(*y_window)
pp.show()
if __name__ == '__main__':
x_window = 0, 15
y_window = 0, 5
xs, ys = make_data(x_window, y_window)
plot(xs, ys, x_window, y_window)
现在,在第二个文件中,您可以从同一文件夹导入它并调用 make_data()
:
import my_program
x_window = 0, 15
y_window = 0, 5
xs, ys = my_program.make_data(x_window, y_window)
关于python - 如何使用 python 将第一个程序的输出链接为第二个程序的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47827424/