【问题标题】:Running command lines within your Python script在 Python 脚本中运行命令行
【发布时间】:2012-05-31 06:42:48
【问题描述】:

所以我有一堆别名和命令行提示程序,我的主程序通过在 cmd.exe 中输入 b 来工作,然后是一些文件路径名等等。我将如何在我的 python 脚本中运行这些参数?这样它就可以模仿我在 cmd 中执行的操作?

【问题讨论】:

  • 你能举一些例子吗? cmd.exe 是 Windows 下的,说起别名让我觉得是 Linux/Unix。
  • 是的,这是 Windows。例如,我将运行命令“b Y TUP TUP010”b 是程序,Y 是驱动器,TUP 是目录,TUP010 是子目录

标签: python windows cmd


【解决方案1】:

您应该使用subprocess 模块。特别是,subprocess.call 将为您运行命令行程序。

【讨论】:

    【解决方案2】:

    或者你可以使用

    import os
    os.system('your_command')
    

    例如:

    import os
    os.system('notepad')
    

    将在命令行后面启动记事本。

    希望对你有帮助

    【讨论】:

    • 子进程模块提供了更强大的工具来生成新进程并检索它们的结果;使用该模块优于使用此功能。有关一些有用的秘诀,请参阅子流程文档中的用子流程模块替换旧功能部分。
    • 我设置了一个别名,这样当我键入 Maya 时,它会打开一个动画软件 Maya。然而,当我这样做时,它适用于记事本,但不适用于 Maya。
    • 我同意 subprocess 更好。
    【解决方案3】:

    您可以使用subprocess 来做到这一点

    例如,下面的调用获取程序的输出并将其存储为字符串,使用.call 将有助于调用它并更准确地控制使用.Popen

    subprocess.check_output(["ipconfig"])
    

    【讨论】:

      【解决方案4】:

      查看Sarge - 子进程的包装器,旨在让需要通过 Python 代码与外部应用程序交互的任何人的生活更轻松。Plumbum - 一个小程序功能丰富的 Python 类 shell 脚本程序库。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-10
        相关资源
        最近更新 更多