繁体   English   中英

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

[英]Running a Perl script and entering commands into it from Python

我学习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中做一些非常酷的事情。 查看此笔记本了解一些具体示例。 至于等待子进程完成,我认为您需要在脚本中pause一下。 另外,对于数据处理以及导出到csv和excel,我建议您使用pandas入门。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM