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

2024-05-23 14:26:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经开始学习Python一周了,我正在尝试编写一段代码,它允许我在LXTerminal中自动运行基于文本的Perl脚本。关于一些细节我有几个问题。你知道吗

我需要我的代码用一个用户输入的环境文件启动Perl脚本,在Perl脚本中输入一些特定的设置,然后在Perl脚本中读入许多.txt文件,一次读入一个。它还需要为每个.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文件,那将非常有帮助。你知道吗

我不知道该怎么办,但我绝对要让它运作起来。抱歉这么复杂。你知道吗

谢谢你!你知道吗


Tags: 文件csv代码用户文本txt脚本home
1条回答
网友
1楼 · 发布于 2024-05-23 14:26:29

你可以在ipython做一些很酷的事情。查看this notebook了解一些具体的例子。至于等待子进程完成,我认为您需要在脚本中添加pause。另外,对于数据处理和导出到csv和excel,我建议使用pandas 只是想让你开始。你知道吗

相关问题 更多 >