Python 如何将参数传递给作为参数传递的脚本?
基本上是标题,我不知道如何将一个参数传递给一个脚本,该脚本在shell命令中作为一个参数传递。以下面的命令为例: $someexe--someexe scriptA.py的argPython 如何将参数传递给作为参数传递的脚本?,python,node.js,bash,paraview,Python,Node.js,Bash,Paraview,基本上是标题,我不知道如何将一个参数传递给一个脚本,该脚本在shell命令中作为一个参数传递。以下面的命令为例: $someexe--someexe scriptA.py的arg somexe将从scriptA读取数据并执行一系列任务,然后将一些数据输出到硬编码到scriptA的目标文件中。如何将目标文件作为命令行参数传递到scriptA中?在python中,我知道我可以使用sys.argv[I]获取参数,但someexe也会尝试获取这些参数,并可能导致问题。我如何才能做到这一点?您可以这样做:
somexe将从scriptA读取数据并执行一系列任务,然后将一些数据输出到硬编码到scriptA的目标文件中。如何将目标文件作为命令行参数传递到scriptA中?在python中,我知道我可以使用sys.argv[I]获取参数,但someexe也会尝试获取这些参数,并可能导致问题。我如何才能做到这一点?您可以这样做: 调用方脚本(scripta.py): 接收方脚本(scriptb.py): 要在终端中调用脚本a,请执行以下操作:
python scripta.py arg1 42 arg2 43
将在scriptb.py终端中打印:
['[arg1,', '42,', 'arg2,', '43]']
system()在一个单独的shell/进程中生成它。可能不是您想要的。如何运行
scriptA.py
?也许您应该使用引号“scriptA.py arg1 arg2”
,并将其作为一个可以运行的字符串。或者您应该在someexe
中为脚本“arg1 arg2”创建--args并以分隔字符串获取参数?我认为这可能与stackoverflow无关,因为这与shell脚本有关,而不是与编程有关。如果需要,我可以将此问题转移到其他地方。虽然这与编程有关,但我的最终目标是使用NodeJS应用程序调用此命令,但如果我知道如何在cmd行上运行此命令,那么我就知道如何使用Node运行此命令,因此我认为该部分与此无关@furas如果我将scriptA的参数打包成一个字符串,那么它就不会运行了,对吗?我怀疑someexe能否从字符串中提取python脚本。我对someexe没有太多的控制权,所以我不确定第二个选项是否也可以使用。这取决于所有情况—例如,在python中,您有一些命令可以运行带有参数的字符串“scriptA.py arg1 arg2--other arg3”
,但有些命令需要它作为列表[“scriptA.py”,“arg1”,“arg2”,“--other arg”,“arg3”]
。someexe中也可能存在同样的情况-它可能与字符串中的参数一起工作,也可能将此字符串视为程序的一个长名称,因此运行时会遇到问题。您还可以创建新脚本,运行commandscriptA.py arg1 arg2--other arg3
,然后您可以不带参数地运行此新脚本,因为其中包含参数脚本-因此您可以运行someexe--arg for someexe new_script.py
这很聪明,今天晚些时候我会尝试一下。谢谢
python scripta.py arg1 42 arg2 43
['[arg1,', '42,', 'arg2,', '43]']