• <bdo id='7ljZ8'></bdo><ul id='7ljZ8'></ul>

    <small id='7ljZ8'></small><noframes id='7ljZ8'>

    <i id='7ljZ8'><tr id='7ljZ8'><dt id='7ljZ8'><q id='7ljZ8'><span id='7ljZ8'><b id='7ljZ8'><form id='7ljZ8'><ins id='7ljZ8'></ins><ul id='7ljZ8'></ul><sub id='7ljZ8'></sub></form><legend id='7ljZ8'></legend><bdo id='7ljZ8'><pre id='7ljZ8'><center id='7ljZ8'></center></pre></bdo></b><th id='7ljZ8'></th></span></q></dt></tr></i><div id='7ljZ8'><tfoot id='7ljZ8'></tfoot><dl id='7ljZ8'><fieldset id='7ljZ8'></fieldset></dl></div>

      1. <tfoot id='7ljZ8'></tfoot>
        <legend id='7ljZ8'><style id='7ljZ8'><dir id='7ljZ8'><q id='7ljZ8'></q></dir></style></legend>

      2. 如何使用Popen在一个进程中运行多个命令?

        How to run multiple commands in one process using Popen?(如何使用Popen在一个进程中运行多个命令?)

          • <bdo id='zRF1m'></bdo><ul id='zRF1m'></ul>

            • <tfoot id='zRF1m'></tfoot>
            • <legend id='zRF1m'><style id='zRF1m'><dir id='zRF1m'><q id='zRF1m'></q></dir></style></legend>
            • <i id='zRF1m'><tr id='zRF1m'><dt id='zRF1m'><q id='zRF1m'><span id='zRF1m'><b id='zRF1m'><form id='zRF1m'><ins id='zRF1m'></ins><ul id='zRF1m'></ul><sub id='zRF1m'></sub></form><legend id='zRF1m'></legend><bdo id='zRF1m'><pre id='zRF1m'><center id='zRF1m'></center></pre></bdo></b><th id='zRF1m'></th></span></q></dt></tr></i><div id='zRF1m'><tfoot id='zRF1m'></tfoot><dl id='zRF1m'><fieldset id='zRF1m'></fieldset></dl></div>

              <small id='zRF1m'></small><noframes id='zRF1m'>

                <tbody id='zRF1m'></tbody>
                1. 本文介绍了如何使用Popen在一个进程中运行多个命令?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我要打开一个进程并在同一进程中运行两个命令。我有:

                  cmd1 = 'source /usr/local/../..'
                  cmd2 = 'ls -l'
                  final = Popen(cmd2, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)
                  stdout, nothing = final.communicate()
                  log = open('log', 'w')
                  log.write(stdout)
                  log.close()
                  

                  如果我使用popen两次,这两个命令将在不同的进程中执行。但我希望它们在同一个shell中运行。

                  推荐答案

                  命令始终是两个(UNIX)进程,但您可以使用以下命令从一个调用Popen和同一外壳程序启动它们:

                  from subprocess import Popen, PIPE, STDOUT
                  
                  cmd1 = 'echo "hello world"'
                  cmd2 = 'ls -l'
                  final = Popen("{}; {}".format(cmd1, cmd2), shell=True, stdin=PIPE, 
                            stdout=PIPE, stderr=STDOUT, close_fds=True)
                  stdout, nothing = final.communicate()
                  log = open('log', 'w')
                  log.write(stdout)
                  log.close()
                  

                  运行程序后,文件"log"包含:

                  hello world
                  total 4
                  -rw-rw-r-- 1 anthon users 303 2012-05-15 09:44 test.py
                  

                  这篇关于如何使用Popen在一个进程中运行多个命令?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  GUI Freezes while downloading PyQt5 and Pytube(GUI在下载PyQt5和Pytube时冻结)
                  How to solve memory issues while multiprocessing using Pool.map()?(如何解决使用Pool.map()进行多处理时的内存问题?)
                  Python - How to use FastAPI and uvicorn.run without blocking the thread?(Python-如何使用FastAPI和uvicorn.run而不阻塞线程?)
                  How to increment a shared counter from multiple processes?(如何从多个进程递增共享计数器?)
                  Using pika, how to connect to rabbitmq running in docker, started with docker-compose with external network?(使用pika,如何连接运行在docker中的rabbitmq,从docker开始-与外部网络连接?)
                  How to use .rolling() on each row of a Pandas dataframe?(如何对 pandas 数据帧的每一行使用.roll()?)

                2. <legend id='9THzE'><style id='9THzE'><dir id='9THzE'><q id='9THzE'></q></dir></style></legend>

                3. <i id='9THzE'><tr id='9THzE'><dt id='9THzE'><q id='9THzE'><span id='9THzE'><b id='9THzE'><form id='9THzE'><ins id='9THzE'></ins><ul id='9THzE'></ul><sub id='9THzE'></sub></form><legend id='9THzE'></legend><bdo id='9THzE'><pre id='9THzE'><center id='9THzE'></center></pre></bdo></b><th id='9THzE'></th></span></q></dt></tr></i><div id='9THzE'><tfoot id='9THzE'></tfoot><dl id='9THzE'><fieldset id='9THzE'></fieldset></dl></div>

                  <small id='9THzE'></small><noframes id='9THzE'>

                      <tbody id='9THzE'></tbody>
                      <bdo id='9THzE'></bdo><ul id='9THzE'></ul>
                        <tfoot id='9THzE'></tfoot>