在调用subprocess.run()
时避免使用临时文件,可以使用subprocess.PIPE
来将子进程的输出作为输入传递给另一个进程。以下是一个示例代码:
import subprocess
# 定义要执行的命令
command = ['echo', 'Hello, World!']
# 使用subprocess.PIPE来捕获子进程的输出
result = subprocess.run(command, stdout=subprocess.PIPE)
# 打印子进程的输出
print(result.stdout.decode())
在上面的示例中,subprocess.run()
命令将echo Hello, World!
作为子进程运行,并将其输出捕获到result.stdout
中。然后,我们可以使用result.stdout.decode()
将输出解码为字符串并打印出来。
通过使用subprocess.PIPE
,我们可以避免在调用subprocess.run()
时使用临时文件。