在调用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()时使用临时文件。