问题描述
我正在用 Python 开发一个项目来自动执行任务。很多时候,我必须直接在我的项目中运行来自不同编程语言(Python、Perl、Ruby、C...)的脚本。为此,我使用 Popen
模块中的 subprocess
类。
示例:
subprocess.Popen(["python","/dir1/dir2/.../dirN/23841.py","arg1 arg2 arg3"],stderr=subprocess.PIPE).communicate()
然而,并非所有这些脚本都需要相同数量的参数(和参数类型)才能运行。因此,我想实现一个函数,该函数将脚本的绝对路径 (/dir1/dir2/.../script.pl
) 作为参数,并返回运行此脚本所需的参数数量。
我查看了 inspect
模块及其签名方法。知道执行函数所需的参数数量非常有效:
import inspect
def test(p1,p2,p3):
None
print(len(inspect.signature(test).parameters)) #3
但是,在这里我想找到一种方法,该方法返回运行脚本(Python、Perl、Ruby、C...)所需的参数数量。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)