【问题标题】:how to write command in command prompt (cmd) in windows 10 from python script with subprocess module如何从带有子进程模块的python脚本在Windows 10的命令提示符(cmd)中编写命令
【发布时间】:2019-05-25 02:28:44
【问题描述】:

我需要从 python 脚本启动外部程序,它可以在命令提示符下运行。我一直在搜索 python 文档和堆栈溢出,但找不到任何对我有帮助的东西。我使用以下脚本成功启动了 cmd:

但我仍然需要写下更多这样的命令:

  • mkdir 数据
  • 复制data.txt c:\data

我认为使用 subprocess 模块这是一项非常容易的工作,但我找不到方法。我该怎么做?

【问题讨论】:

  • 这不就是subprocess.run("mkdir data && copy data.txt C:\data", shell=True)吗?
  • @AdamSmith,似乎没有在 c:\ 使用 'subprocess.run("mkdir data && copy data.txt C:\data", shell=True)' 创建一个数据文件夹。我有什么问题吗?
  • 做这个工作没问题,但是为什么要用CMD来做目录,复制文件呢?使用Python很简单os.mkdir('data');shutil.copy('data.txt', 'data')
  • @eryksun,你是对的。通过“os.mkdir”或“shutil.copy”创建目录是一种简单的方法,但我有几个类似的工作。所以如果我能做这些工作,我也能做其他工作。因此,我需要知道“子进程”是如何操作命令提示符的。
  • shell=True 使用'cmd.exe /c "{}"'.format(args)。这将执行单个命令行,其中可以包含由&&||&|(管道)连接的多个命令。 CMD 等待命令行完成并使用评估的退出代码退出。您可以使用start 来避免等待命令或使用start /b 这样做而不创建新的控制台,并在必要时使用<> 重定向标准输入和标准输出(例如到NUL)。确保用于命令行的字符串文字是原始反斜杠或转义反斜杠。

标签: python windows subprocess command-prompt


【解决方案1】:

尝试使用通话

subprocess.call(['cmd.exe', 'mkdir data']);

【讨论】:

  • 对不起,我只是在linux中尝试了不同的进程,但是在这种情况下,你可以使用 os, os.system('mkdir data');
猜你喜欢
  • 2013-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多