<legend id='JwrE6'><style id='JwrE6'><dir id='JwrE6'><q id='JwrE6'></q></dir></style></legend>

    1. <small id='JwrE6'></small><noframes id='JwrE6'>

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

        <bdo id='JwrE6'></bdo><ul id='JwrE6'></ul>

        <tfoot id='JwrE6'></tfoot>
      1. 子进程通配符用法

        时间:2023-07-22
      2. <tfoot id='8wbQN'></tfoot>
        <i id='8wbQN'><tr id='8wbQN'><dt id='8wbQN'><q id='8wbQN'><span id='8wbQN'><b id='8wbQN'><form id='8wbQN'><ins id='8wbQN'></ins><ul id='8wbQN'></ul><sub id='8wbQN'></sub></form><legend id='8wbQN'></legend><bdo id='8wbQN'><pre id='8wbQN'><center id='8wbQN'></center></pre></bdo></b><th id='8wbQN'></th></span></q></dt></tr></i><div id='8wbQN'><tfoot id='8wbQN'></tfoot><dl id='8wbQN'><fieldset id='8wbQN'></fieldset></dl></div>

              <tbody id='8wbQN'></tbody>

            1. <legend id='8wbQN'><style id='8wbQN'><dir id='8wbQN'><q id='8wbQN'></q></dir></style></legend>

                <bdo id='8wbQN'></bdo><ul id='8wbQN'></ul>

                <small id='8wbQN'></small><noframes id='8wbQN'>

                • 本文介绍了子进程通配符用法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  import os
                  
                  import subprocess
                  
                  proc = subprocess.Popen(['ls','*.bc'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
                  
                  out,err = proc.communicate()
                  
                  print out
                  

                  这个脚本应该打印所有带有 .bc 后缀的文件,但是它返回一个空列表.如果我在命令行中手动执行 ls *.bc ,它就可以工作.在脚本中执行 ['ls','test.bc'] 也可以,但由于某种原因星号不起作用.. 有什么想法吗?

                  This script should print all the files with .bc suffix however it returns an empty list. If I do ls *.bc manually in the command line it works. Doing ['ls','test.bc'] inside the script works as well but for some reason the star symbol doesnt work.. Any ideas ?

                  推荐答案

                  您需要提供 shell=True 以通过 shell 解释器执行命令.但是,如果您这样做,则不能再提供一个列表作为第一个参数,因为这些参数将被引用.相反,请指定您希望将其传递给 shell 的原始命令行:

                  You need to supply shell=True to execute the command through a shell interpreter. If you do that however, you can no longer supply a list as the first argument, because the arguments will get quoted then. Instead, specify the raw commandline as you want it to be passed to the shell:

                   proc = subprocess.Popen('ls *.bc', shell=True,
                                                      stdout=subprocess.PIPE,
                                                      stderr=subprocess.PIPE)
                  

                  这篇关于子进程通配符用法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:从python运行程序,并在脚本被杀死后继续运行 下一篇:从子进程中实时捕获标准输出

                  相关文章

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

                • <tfoot id='btbOO'></tfoot>

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