【问题标题】:Open a command prompt at a specific location followed by running a script at that location with some command line arguments using python在特定位置打开命令提示符,然后使用 python 在该位置运行带有一些命令行参数的脚本
【发布时间】:2019-04-08 23:23:32
【问题描述】:

我能够使用 subprocess 模块打开命令提示符并将目录更改为所需位置,但我无法传递更多参数来运行应用程序以及一些命令行参数。我是 subprocess 模块的新手,所以我对 stackoverflow 进行了一些搜索,但找不到所需的结果。

我的代码:

import subprocess
path = r"C:/Users/Application_Folder"
p = subprocess.Popen(r"cmd.exe", cwd="C:/Project_Files", shell=True)

期望的输出:

Path: C:\Users\Application_folder\Application.exe
Need to open the cmd prompt in windows at the Application_folder location, 
run the Application.exe by passing some command line arguments, using python

【问题讨论】:

    标签: python command-line-arguments command-prompt


    【解决方案1】:

    只需传递您实际想要执行的命令行,包括可执行路径和您想要传递的任何参数:

    command_line = [r'C:\Users\Application_Folder\Application.exe', '/argument1', '/argument2']
    p = subprocess.Popen(command_line, cwd=r'C:\Project_Files')
    

    注意几点:

    • 不应该使用shell=True。这里没有必要——事实上几乎从来没有必要——但它确实会带来潜在的安全风险。
    • 原始字符串文字(以r'r" 开头)的全部意义在于更改字符串中反斜杠字符的解释方式。 r'C:\Program Files'"C:\\Program Files" 完全相同。如果您的字符串中没有反斜杠,请不要使用r 前缀。

    【讨论】:

      猜你喜欢
      • 2013-09-05
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 2019-10-22
      • 2020-07-23
      • 2021-07-18
      • 2016-08-24
      相关资源
      最近更新 更多