最近做一个脚本文件,需要输入一系列的数据,并通过脚本的运行得到数据结果。但是人工输入这些数据比较繁琐,于是就使用os.system去实现调用脚本,并传输参数,以达到自动运行的结果。
下面是例子:
子程序
首先创建一个脚本文件 subcode.py,来完成求和目的,比如
def sum(x, y): print(x + y)
sum(float(x), float(y))
当我们调用这个文件的时候,需要传入两个参数 x 和 y, 这时候就要在这个脚本文件中导入 sys 以接收参数值。完整代码如下:
import sys def sum(x, y): print(x + y) print(sys.argv[1]) print(sys.argv[2]) x = sys.argv[1] y = sys.argv[2] sum(float(x), float(y))
主程序
主程序中想要调用另一个.py文件,那么就要导入 os 库。因为子程序中有两个参数,那么在这里我们还要设置两个参数 paramA, paramB, 如下面代码所示
import os paramA = 1 paramB = 2 os.system("python subcode_file_path %f %f" % (paramA, paramB))
其中 subcode_file_path 代表 想要调取程序的路径,这里我们想要传输两个浮点数,则使用 %f 来实现。
总结
如果想要完成多次调用,则使用循环语句,并改变输入参数值即可