如何从Python调用需要参数的Perl脚本

2024-05-21 01:29:46 发布

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

我用Python编写脚本,我想从中调用Perl脚本。在

这是我想拨打的电话:

perl conv_intel_hex_2_verilog.pl arg1 arg2

arg1是Python脚本的输入,arg2是我正在创建的新文件。在

到目前为止,我有这个:

^{pr2}$

这跑了,什么也没做。在

当我改变

subprocess.call(["perl", "conv_intel_hex_2_verilog.pl", input]);

subprocess.call(["perl", "conv_intel_hex_2_verilog.pl", input ,file]);

它不能编译。。。在


Tags: 文件脚本inputcallverilogperl电话pl
2条回答

不能只给它一个filehandle(或者Python中调用的任何东西)。您正在构造对另一个程序的调用,而该程序需要一个文件名,因此将该文件名作为字符串传递。在

subprocess.call(["perl", "conv_intel_hex_2_verilog.pl", input ,"test.hex"]);

你也不需要先打开文件。在

正如您所描述的,您正在运行的程序期望它的第二个参数是一个文件的名称,所以这就是您需要给它的值。你给出的文件名和你当前的文件名不一样。在

subprocess.call(["perl", "conv_intel_hex_2_verilog.pl", input, "test.hex"]);

也不需要在运行该代码之前创建file对象。另一个程序肯定会为您创建它,如果它发现该文件已经存在,它甚至可能会停止。在

相关问题 更多 >