当前位置: 首页 > 面试题库 >

从Python调用Perl脚本

高修伟
2023-03-14
问题内容

我有要从Python脚本调用的Perl脚本。我一直在寻找,并没有成功。我基本上是试图调用向Perl脚本发送1变量的方法,但是不需要Perl脚本的输出,因为它是一个自包含程序。

到目前为止,我想出的是:

var = "/some/file/path/"
pipe = subprocess.Popen(["./uireplace.pl", var], stdin=subprocess.PIPE)
pipe.stdin.write(var)
pipe.stdin.close()

只有刚刚开始的Python编程,所以我确定以上内容完全是胡说八道。任何帮助将非常感激。


问题答案:

如果您只想打开通往perl解释器的管道,那么您的方向正确。我认为您唯一缺少的是perl脚本本身不是可执行文件。因此,您需要这样做:

var = "/some/file/path/"
pipe = subprocess.Popen(["perl", "./uireplace.pl", var], stdin=subprocess.PIPE)
pipe.stdin.write(var)
pipe.stdin.close()


 类似资料:
  • 问题内容: 我正在尝试从python这样启动PowerShell脚本: 问题是我得到以下错误: 无法加载文件C:\ Users \ sztomi \ workspace \ myproject \ buildxml.ps1,因为在此系统上禁用了脚本的执行。请参阅“获取有关about_signing的帮助”以了解更多详细信息。 尽管事实上我很早以前确实通过键入管理员运行的PS终端来启用Powersh

  • 问题内容: 我阅读是一种选择,但这是最好的方法吗? 我需要该脚本的答案,因此在某些情况下,我必须阅读脚本的返回,尽管在其他情况下,我可能会从文本文件中读取该脚本的返回。 无论如何,是从Java调用Perl脚本的好方法吗?我应该注意,我正在开发Java Web应用程序,因此这里的安全性是一个问题。 问题答案: 您可以使用或使用Process API 。使用Process API,您可以获取脚本的输出

  • 问题内容: 在网站上运行Selenium测试时,我有一些Flash元素无法使用Selenium / Python进行测试。我想调用一个单独的终端窗口,运行Sikuli OCR测试,然后再返回Selenium / Python测试。我还不能完全弄清楚这一点。我将XXX放在我不知道新终端打开并运行Sikuli脚本的参数的位置。 我敢肯定,这里有几处错误。任何帮助将不胜感激。我已经搜索并阅读了可以在此找

  • 问题内容: 我希望使用exiftool扫描照片和视频中的EXIF标签。这是一个perl可执行文件。推论这一点的最佳方法是什么?是否已有Python库可以执行此操作?还是应该直接调用可执行文件并解析输出?(后者似乎很脏。)谢谢。 我问的原因是因为我当前正在使用pyexiv2,该视频不支持视频。Perl的exiftool对图像和视频有非常广泛的支持,我想使用它。 问题答案: 为避免为每个图像启动新进程

  • 问题内容: 我试图弄清楚如何从Shell脚本调用Python函数。 我有一个具有多个功能的Python文件,我需要在我的shell脚本中使用它们返回的值。有没有办法做到这一点。 我这样做是为了使用Python读取配置文件并在shell中获取值。还有其他更好的方法来实现这一目标。 包含: 我需要将Python函数返回的值存储在shell变量中。 问题答案: 您可以通过要求Python解释器打印结果来

  • 问题内容: 我有一些用PHP编写的代码,但是我还开发了一个用Python编写的脚本。是否可以从PHP代码调用此Python脚本? 如果是,如何从PHP将参数传递给Python脚本? 我试图找到一个没有成功的答案。 有人可以给我一个提示吗? 问题答案: 您使用系统功能:http : //php.net/manual/en/function.system.php 像这样: