Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将参数传递给作为参数传递的脚本?_Python_Node.js_Bash_Paraview - Fatal编程技术网

Python 如何将参数传递给作为参数传递的脚本?

Python 如何将参数传递给作为参数传递的脚本?,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也会尝试获取这些参数,并可能导致问题。我如何才能做到这一点?您可以这样做:

基本上是标题,我不知道如何将一个参数传递给一个脚本,该脚本在shell命令中作为一个参数传递。以下面的命令为例:

$someexe--someexe scriptA.py的arg


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中也可能存在同样的情况-它可能与字符串中的参数一起工作,也可能将此字符串视为程序的一个长名称,因此运行时会遇到问题。您还可以创建新脚本,运行command
scriptA.py arg1 arg2--other arg3
,然后您可以不带参数地运行此新脚本,因为其中包含参数脚本-因此您可以运行
someexe--arg for someexe new_script.py
这很聪明,今天晚些时候我会尝试一下。谢谢
python scripta.py arg1 42 arg2 43
['[arg1,', '42,', 'arg2,', '43]']