• <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在一个进程中运行多个命令?

        时间:2024-08-10

          • <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在一个进程中运行多个命令?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:声纳中Python的测试/测试覆盖没有出现吗? 下一篇:排序的GitPython标签

                  相关文章

                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'>

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