python - 运行一个脚本,该脚本调用另一个脚本作为参数,而该脚本又具有参数

标签 python function arguments

我正在寻找最有效/最简单的方法来运行带有以下参数的脚本(我们将其称为 script1):

  1. 调用其他几个脚本中的一个(仅一个)(作为 script1 的参数),从而:
  2. 其中包含在运行 script1 时给出的参数,并根据 script1 上的参数传递给正在运行的任何脚本...

例如,我想运行带有参数的 script1 来调用带有参数 a 和 b 的 script2:

script1.py ( script2 a b )

我研究过函数并读过一些人建议使用 lambda,但我相当新手,想要学习和理解,而不仅仅是提供我不理解的答案......

只是想知道一些方法是什么,并且正在寻找如何实现我想要的东西的通用示例,以便我可以对其进行编程并理解它......

提前致谢!!

最佳答案

如果您希望您的脚本(一个 Python 程序,我们称之为 script1.py)使用给定的参数调用另一个脚本(另一个 Python 程序),您可以将 script1.py 编写为:

import subprocess, sys

subprocess.call(sys.argv[1:])

sys.argv 是一个包含程序名称的列表(使用 print sys.argv[0] 并自行查看),之后是所有传递给您的程序的参数。

sys.argv[1:] 表示:sys.argv 列表的内容,从第二个元素(索引为 1)开始到末尾列表。

subprocess.call 调用另一个程序,它接受一个包含要执行的程序及其所有参数的列表。

关于python - 运行一个脚本,该脚本调用另一个脚本作为参数,而该脚本又具有参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6848240/

相关文章:

python 在 Windows 上运行 python2 而不是 python3

python - 无法在Python 3中正确读取HTML数据

python - 除了Python中的中断

python - 是否可以检测python中函数返回值的数量?

多次调用函数中的c++大 vector

javascript - 将参数传递给函数

c++ - 在 Windows 中为 python 编译 SWIG 包装器

python - 如何在类和函数之间移动变量而不改变它们?

python - 如何在命令行中将参数传递给文件并使用 python 更改文件中的字符串?

java - 命令行参数中的空格