gpt4 book ai didi

python - 运行 Perl 脚本并从 Python 向其中输入命令

转载 作者:太空宇宙 更新时间:2023-11-04 06:42:23 24 4
gpt4 key购买 nike

我学习 Python 已经一周了,我正在尝试编写一段代码,使我能够在 LXTerminal 中自动运行基于文本的 Perl 脚本。我有几个关于一些细节的问题。

我需要我的代码来使用用户输入的环境文件启动 Perl 脚本,在 Perl 脚本中输入一些特定的设置,然后读入许多 .txt 文件,一次一个,读入 Perl 脚本。它还需要为每个单独的 .txt 文件重新启动进程并捕获每个单独的输出(如果每个输出都可以写入单个 .csv 文件会有所帮助)。

要调用 Perl 脚本,我从以下内容开始:

alphamelts="/home/melts/Desktop/alphamelts"
pipe=subprocess.Popen(["perl", "/home/Desktop/melts/alphaMELTS", "run_alphamelts.command -f %s"]) % raw_input("Enter an environment file:"), stdout=PIPE

假设这是正确的,我现在需要它读取 .txt 文件,输入基于数字的命令,让我的代码等待 Perl 脚本完成计算,我需要它把输出写入 .csv文件。如果有帮助,我正在运行的 Perl 脚本会在程序存在后自动生成一个以空格分隔的文件,其中包含其计算结果,但如果仅将其输出的一些输出写入单个单独的 .csv 文件,那将非常有用对于处理的每个 .txt 文件。

不知道从这里到哪里去,但我绝对必须让它工作。抱歉太复杂了。

谢谢!

最佳答案

您可以在 ipython 中做一些非常酷的事情。查看this notebook对于一些具体的例子。至于等待子进程完成,我认为您需要在脚本中放置一个 pause 。此外,对于数据处理和导出到 csv 和 excel,我建议 pandas只是让您入门的东西。

关于python - 运行 Perl 脚本并从 Python 向其中输入命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32101715/

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