gpt4 book ai didi

python - 从 Python 运行 Perl 代码(输出到文件)

转载 作者:行者123 更新时间:2023-11-28 20:21:00 26 4
gpt4 key购买 nike

我正在尝试从 Python 运行 Perl 脚本。我知道如果在终端中运行 Perl 脚本并且我希望将 Perl 脚本的输出写入一个文件,我需要在 perl myCode.pl 之后添加 > results.txt >。这在终端中运行良好,但当我尝试在 Python 中执行此操作时,它不起作用。

这是代码:

import shlex
import subprocess

args_str = "perl myCode.pl > results.txt"
args = shlex.split(args_str)
subprocess.call(args)

尽管有 > results.txt,它不会输出到该文件,但会输出到命令行。

最佳答案

subprocess.call("perl myCode.pl >results.txt", shell=True)

subprocess.call(["sh", "-c", "perl myCode.pl >results.txt"])

with open('results.txt', 'wb', 0) as file:
subprocess.call(["perl", "myCode.pl"], stdout=file)

前两个调用 shell 来执行 shell 命令 perl myCode.pl > results.txt。最后一个通过让 call 自己进行重定向来直接执行 perl。这是更可靠的解决方案。

关于python - 从 Python 运行 Perl 代码(输出到文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29264377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com