Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.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_Interpreter_Argv - Fatal编程技术网

如何将参数传递给嵌入式python子解释器?

如何将参数传递给嵌入式python子解释器?,python,interpreter,argv,Python,Interpreter,Argv,我需要通过嵌入式python解释器同时解释几个文件(脚本)(更详细地说,一个脚本以Popen的形式执行另一个脚本,我的应用程序截取它并自行执行)。我发现它被叫做,我要用它。但是我已经读到子解释器没有sys.argv: 新环境没有sys.argv变量 无论如何,我都需要传递argv,那么我该如何做呢?您可能会发现按照以下模式修改每个脚本更容易: def run(*posargs, **argdict): """ This does the work and can be called

我需要通过嵌入式python解释器同时解释几个文件(脚本)(更详细地说,一个脚本以
Popen
的形式执行另一个脚本,我的应用程序截取它并自行执行)。我发现它被叫做,我要用它。但是我已经读到子解释器没有
sys.argv

新环境没有sys.argv变量


无论如何,我都需要传递argv,那么我该如何做呢?

您可能会发现按照以下模式修改每个脚本更容易:

def run(*posargs, **argdict):
   """ 
   This does the work and can be called with:
   import scriptname
   scriptname.run(someargs) 
   """
   # Code goes here and uses posargs[n] where it would use sys.argv[n+1]

if __name__ == "__main__":
   import sys
   run(sys.argv[1:])

然后,主脚本只需调用run方法即可依次调用每个子脚本。

您可能会发现按照以下模式修改每个脚本更容易:

def run(*posargs, **argdict):
   """ 
   This does the work and can be called with:
   import scriptname
   scriptname.run(someargs) 
   """
   # Code goes here and uses posargs[n] where it would use sys.argv[n+1]

if __name__ == "__main__":
   import sys
   run(sys.argv[1:])

然后,主脚本只需调用run方法即可依次调用每个下标。

您可以使用环境变量。让父对象通过更新DICT <代码> OS .Envion < /C> >设置为Python,或者<代码> SENEN()/CUT>如果在C或C++中,孩子们可以读取<代码> OS .Envion < /Cord>以获得他们需要的任何字符串。让父对象通过更新DICT <代码>操作系统.Envion < /代码>,如果它在Python中,或者 StEnvVE()/Cuth.>如果在C或C++中,那么孩子们可以读取<代码> OS .Envion < /Cord>以获得他们需要的任何字符串。你想要达到的更高层次的目标是什么?例如,您将在argv中传递什么?我需要向脚本(f.e.数据文件名)传递一些参数,但您不能传递argv。你想要达到的更高层次的目标是什么?例如,您将在argv中传递什么?我需要将一些参数传递给脚本(f.e.数据文件名)。似乎操作系统变量应该在Py_初始化之前设置,此时它们是未知的。我认为如果您更具体地了解您的情况,会有所帮助。在这一点上,我基本上不知道你在做什么。似乎操作系统变量应该在Py_初始化之前设置,而且在那一刻它们是未知的。我认为如果你更具体地描述一下你的情况会有所帮助。在这一点上,我基本上不知道你在尝试做什么。当我有一个实用程序脚本,它在编程上可能也很有用时,我总是使用这个模式。当我有一个实用程序脚本,它在编程上可能也很有用时,我总是使用这个模式。