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

时间:2015-08-19 17:13:11

标签: python perl python-2.7

我正在学习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文件处理。

不知道从哪里开始,但我必须让这个工作。抱歉复杂。

谢谢!

1 个答案:

答案 0 :(得分:-1)

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