要求 - 我想使用管道(|)执行使用ls,grep,head等的命令。我正在搜索一些模式并提取一些信息,这些信息是我的http服务器支持的查询的一部分。
最终输出不应该太大,所以假设stdout应该很好用(我在某处读到了死锁问题) 目前,我使用subprocess模块中的popen,但我对它有疑问。
我是Python的新手,并且对视频/文章的链接也很感激。除了popen以外的任何其他方式也没关系。
答案 0 :(得分:1)
您可以使用os.walk
或ls
代替re
,使用grep
模块代替map
。
在功能中包装所有内容,并使用例如来自multiprocessing.Pool
对象的Executors
方法并行运行其中几个。这是一种非常有效的模式。
在Python3中,您也可以以类似的方式使用concurrent.futures
中的require_once __DIR__.'/vendor/autoload.php';
。