我有一个正在运行的脚本(我写了一个模块包),在某些部分,某个脚本使用命令行参数执行另一个脚本。我希望其他脚本(其他人不会,但其他人可以修改并且可由用户查看)自动将sys.argv[1]
转移到某个功能,例如{{1} ,有一些用户在调用时发送的参数 - 但我不希望用户知道额外的参数并需要自己发送(换句话说,我希望foo()
自动发送到sys.argv[1]
)。
这可能吗?
示例:
foo()
答案 0 :(得分:2)
你所描述的应该有用。在这里它被煮熟了,希望它有所帮助。
my_script.py
:
import subprocess
subprocess.check_call(["python", "user_script.py", "c"])
user_script.py
:
import my_module
my_module.my_func('a', 'b')
my_module.py
:
import sys
def my_func(arg1, arg2, arg3=sys.argv[1]):
print arg1, arg2, arg3
然后,python my_script.py
将输出a b c
。