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

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

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

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

      Python:执行 shell 命令

      Python: Executing a shell command(Python:执行 shell 命令)

        <tfoot id='CvNKR'></tfoot>

          <legend id='CvNKR'><style id='CvNKR'><dir id='CvNKR'><q id='CvNKR'></q></dir></style></legend>
            <bdo id='CvNKR'></bdo><ul id='CvNKR'></ul>

          • <small id='CvNKR'></small><noframes id='CvNKR'>

              <tbody id='CvNKR'></tbody>

              1. <i id='CvNKR'><tr id='CvNKR'><dt id='CvNKR'><q id='CvNKR'><span id='CvNKR'><b id='CvNKR'><form id='CvNKR'><ins id='CvNKR'></ins><ul id='CvNKR'></ul><sub id='CvNKR'></sub></form><legend id='CvNKR'></legend><bdo id='CvNKR'><pre id='CvNKR'><center id='CvNKR'></center></pre></bdo></b><th id='CvNKR'></th></span></q></dt></tr></i><div id='CvNKR'><tfoot id='CvNKR'></tfoot><dl id='CvNKR'><fieldset id='CvNKR'></fieldset></dl></div>
                本文介绍了Python:执行 shell 命令的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我需要这样做:

                paste file1 file2 file3 > result
                

                我的 python 脚本中有以下内容:

                I have the following in my python script:

                from subprocess import call
                
                // other code here.
                
                // Here is how I call the shell command
                
                call ["paste", "file1", "file2", "file3", ">", "result"])
                

                很遗憾,我收到了这个错误:

                Unfortunately I get this error:

                paste: >: 没有这样的文件或目录.

                对此的任何帮助都会很棒!

                Any help with this will be great!

                推荐答案

                有两种方法.

                1. 使用 shell=True:

                call("paste file1 file2 file3 >result", shell=True)
                

                重定向,>,是一个shell特性.因此,您只能在使用 shell 时访问它:shell=True.

                Redirection, >, is a shell feature. Consequently, you can only access it when using a shell: shell=True.

                保持shell=False,使用python进行重定向:

                Keep shell=False and use python to perform the redirection:

                with open('results', 'w') as f:
                    subprocess.call(["paste", "file1", "file2", "file3"], stdout=f)
                

                第二个通常是首选,因为它避免了 shell 的变幻莫测.

                The second is normally preferred as it avoids the vagaries of the shell.

                不使用 shell 时,> 只是命令行上的另一个字符.因此,请考虑错误消息:

                When the shell is not used, > is just another character on the command line. Thus, consider the error message:

                paste: >: No such file or directory. 
                

                这表明 paste 已收到 > 作为参数,并试图打开该名称的文件.不存在这样的文件.因此消息.

                This indicates that paste had received > as an argument and was trying to open a file by that name. No such file exists. Therefore the message.

                作为 shell 命令行,可以使用该名称创建文件:

                As the shell command line, one can create a file by that name:

                touch '>'
                

                如果存在这样的文件,当 subprocess 使用 shell=False 调用 paste 时,会使用该文件作为输入.

                If such a file had existed, paste, when called by subprocess with shell=False, would have used that file for input.

                这篇关于Python:执行 shell 命令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

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

                相关文档推荐

                Pythonic and efficient way of finding adjacent cells in grid(在网格中查找相邻单元格的 Pythonic 和有效方法)
                map a hexagonal grid in matplotlib(在 matplotlib 中映射六边形网格)
                Execute arbitrary python code remotely - can it be done?(远程执行任意 python 代码 - 可以吗?)
                Python - Plotting colored grid based on values(Python - 根据值绘制彩色网格)
                Is there a GUI design app for the Tkinter / grid geometry?(是否有 Tkinter/网格几何图形的 GUI 设计应用程序?)
                tkinter Canvas Scrollbar with Grid?(带有网格的 tkinter 画布滚动条?)
                  <bdo id='q8wtj'></bdo><ul id='q8wtj'></ul>

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

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

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

                          <tbody id='q8wtj'></tbody>