Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.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脚本,传递参数并获得打印输出_Python_Command Line_Anaconda - Fatal编程技术网

Python—在当前环境中运行另一个Python脚本,传递参数并获得打印输出

Python—在当前环境中运行另一个Python脚本,传递参数并获得打印输出,python,command-line,anaconda,Python,Command Line,Anaconda,这是一个有点难看的问题,但我没有找到现有的SO帖子来涵盖它 现在,我需要在这个平台上使用现有的python工具 这是一段相当大的代码,有很多我不想处理的依赖项。简而言之,可以通过传递命令行参数来运行其模块,例如: timesearch.py timesearch -r "subreddit1" -l "1466812800" -up "1498348800" 现在,我需要使用for循环多次运行这个工具,每次传递不同的参数值。当您运行该工具时,它还会将一些输出输出输出到命令行中——我还想截取并从

这是一个有点难看的问题,但我没有找到现有的SO帖子来涵盖它

现在,我需要在这个平台上使用现有的python工具

这是一段相当大的代码,有很多我不想处理的依赖项。简而言之,可以通过传递命令行参数来运行其模块,例如:

timesearch.py timesearch -r "subreddit1" -l "1466812800" -up "1498348800"
现在,我需要使用for循环多次运行这个工具,每次传递不同的参数值。当您运行该工具时,它还会将一些输出输出输出到命令行中——我还想截取并从python脚本中打印出来。最后,我需要确保在继续循环并再次运行该工具之前,timesearch工具的当前执行已完成

这里有一点需要注意——我确实需要确保timesearch是使用与使用for循环运行主脚本相同的环境执行的

我正在努力理解什么是最好的方法

如果我只是这样做,它不会起作用:

import os
#for loop will go here
os.system('python timesearch.py timesearch -r "ethereum" -l "1466812800" -up "1498348800"')
由于几个原因,它失败了——它没有使用我正在使用循环编写脚本的环境,它也没有捕获timesearch的打印输出

关于如何实现这一目标有什么建议吗


只是强调一下-我不能在timesearch中直接调用所需的函数,因为它会调用uu init uu来根据您传递的参数设置一些内容。

我不会在os.system中调用python脚本。基本上您需要使用一个函数:mainsys.argv[1:]


.

我们能确保初始化部分不会弄糟吗?我的意思是每次调用timesearch.main时都会调用init吗?你说的init部分是什么意思?它是功能体外部的部件吗?我相信您不需要每次调用main函数时都创建新的ArgumentParser。