gpt4 book ai didi

python - 如何在 Python 中调用 Perl 函数

转载 作者:太空狗 更新时间:2023-10-29 18:07:44 24 4
gpt4 key购买 nike

我在 Perl 模块中编写了一些函数。我必须在 Python 中调用这些函数并获取输出。

我已经看到链接了 http://en.wikibooks.org/wiki/Python_Programming/Extending_with_Perl .我找不到他们用 Python 导入的 Perl 模块。

当我尝试在 Linux 中安装 pyperl 时,它无法找到它。

我能够运行简单的 Perl 脚本并获得输出,但我无法调用用 Perl 编写的函数并获得输出。

最佳答案

使用popen 运行Perl 解释器并执行所需的代码。运行 Perl 时,包括 -m MODULE 开关以加载所需的模块和 -e EXPRESSION 以执行您想要的功能。例如,此代码在 POSIX 模块中运行一个函数并获得其(字符串)结果:

>>> os.popen('''
... perl -mPOSIX -e "print POSIX::asctime(localtime)"
... ''').read()
'Sun Jan 19 12:14:50 2014\n'

如果需要在 Python 和 Perl 之间传输更复杂的数据结构,请使用两种语言都支持的中间格式,例如 JSON:

>>> import os, json
>>> json.load(os.popen('''
... perl -e '
... use POSIX qw(localtime asctime);
... use JSON qw(to_json);
... my @localtime = localtime(time);
... print to_json({localtime => \@localtime,
... asctime => asctime(@localtime)});
... '
... '''))
{u'localtime': [10, 32, 12, 19, 0, 114, 0, 18, 0],
u'asctime': u'Sun Jan 19 12:32:10 2014\n'}

关于python - 如何在 Python 中调用 Perl 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21214461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com