用户登录
用户注册

分享至

子进程。打开尝试写入不存在的管道

  • 作者: 来_来_这狗让你先日
  • 来源: 51数据库
  • 2022-10-19

问题描述

为什么以下选项不起作用?

import subprocess

process = subprocess.Popen('cmd.exe', shell=False, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=None)


我得到的输出如下:

The process tried to write to a nonexistent pipe.
The process tried to write to a nonexistent pipe.
The process tried to write to a nonexistent pipe.
The process tried to write to a nonexistent pipe.
The process tried to write to a nonexistent pipe.

之后,该进程终止,不会出现错误。我正在运行Windows 7。

推荐答案

尝试:

import subprocess
subprocess.run(["echo", "Hello, world!"], shell=True)

这使用默认的stdout和stderr,而不是创建管道。

软件
前端设计
程序设计
Java相关