<tfoot id='QnJDY'></tfoot><legend id='QnJDY'><style id='QnJDY'><dir id='QnJDY'><q id='QnJDY'></q></dir></style></legend>
      <bdo id='QnJDY'></bdo><ul id='QnJDY'></ul>
  • <small id='QnJDY'></small><noframes id='QnJDY'>

      1. <i id='QnJDY'><tr id='QnJDY'><dt id='QnJDY'><q id='QnJDY'><span id='QnJDY'><b id='QnJDY'><form id='QnJDY'><ins id='QnJDY'></ins><ul id='QnJDY'></ul><sub id='QnJDY'></sub></form><legend id='QnJDY'></legend><bdo id='QnJDY'><pre id='QnJDY'><center id='QnJDY'></center></pre></bdo></b><th id='QnJDY'></th></span></q></dt></tr></i><div id='QnJDY'><tfoot id='QnJDY'></tfoot><dl id='QnJDY'><fieldset id='QnJDY'></fieldset></dl></div>
      2. 在 subprocess.call 中使用大于运算符

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

          <tfoot id='t3iXv'></tfoot>

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

          1. <legend id='t3iXv'><style id='t3iXv'><dir id='t3iXv'><q id='t3iXv'></q></dir></style></legend>
                • <bdo id='t3iXv'></bdo><ul id='t3iXv'></ul>
                • 本文介绍了在 subprocess.call 中使用大于运算符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我想做的很简单.我想使用 python 的 subprocess 模块调用以下命令.

                  What I am trying to do is pretty simple. I want to call the following command using python's subprocess module.

                  cat /path/to/file_A > file_B
                  

                  该命令简单地工作并将file_A的内容复制到当前工作目录中的file_B.但是,当我尝试在脚本中使用 subprocess 模块调用此命令时,它会出错.以下是我正在做的事情:

                  The command simply works and copies the contents of file_A to file_B in current working directory. However when I try to call this command using the subprocess module in a script it errors out. Following is what I am doing:

                  import subprocess
                  
                  subprocess.call(["cat", "/path/to/file_A", ">", "file_B"])
                  

                  我收到以下错误:

                  cat: /path/to/file_A: No such file or directory
                  cat: >: No such file or directory
                  cat: file_B: No such file or directory
                  

                  我做错了什么?如何在子进程模块 call 命令中使用大于运算符?

                  what am I doing wrong ? How can I use the greater than operator with subprocess modules call command ?

                  推荐答案

                  > 输出重定向是 shell 功能,但是 subprocess.call() 带有 args 列表和 shell=False(默认)不使用 shell.

                  > output redirection is a shell feature, but subprocess.call() with an args list and shell=False (the default) does not use a shell.

                  您必须在此处使用 shell=True:

                  subprocess.call("cat /path/to/file_A > file_B", shell=True)
                  

                  或者更好的是,使用 subprocess 将命令的输出重定向到文件:

                  or better still, use subprocess to redirect the output of a command to a file:

                  with open('file_B', 'w') as outfile:
                      subprocess.call(["cat", "/path/to/file_A"], stdout=outfile)
                  

                  如果您只是复制文件,请使用 shutil.copyfile() 函数 让 Python 复制文件:

                  If you are simply copying a file, use the shutil.copyfile() function to have Python copy the file across:

                  import shutil
                  
                  shutil.copyfile('/path/to/file_A', 'file_B')
                  

                  这篇关于在 subprocess.call 中使用大于运算符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:解释来自 Python 子流程模块的示例管道 下一篇:用于 Windows 的 python os.mkfifo()

                  相关文章

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

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

                  1. <legend id='YoZZF'><style id='YoZZF'><dir id='YoZZF'><q id='YoZZF'></q></dir></style></legend>
                  2. <tfoot id='YoZZF'></tfoot>

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