文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

perl和python的相互调用

2023-01-31 06:09

关注

从实用角度出发,并未付诸于解释(有时间后期补充)。程序内容直接复制到文件,即可使用。

注意perl调用python路径在相同目录下;

python调用perl则不需要

系统环境:windows7

python版本:2.x

perl版本:This is perl 5, version 24, subversion 2 (v5.24.2) built for MSWin32-x86-multi-thread-64int

编辑器:notepad++

notepad++配置python和perl运行环境方法:

http://blog.csdn.net/sunyan3517/article/details/74857499


perl调用python
use File::Spec;

*******perl代码*****perl_test.pl*********
sub PerlCallPython
{
    my $path_curf = File::Spec->rel2abs(__FILE__);
    print "C PATH = ",$path_curf,"\n";
    my ($vol, $dirs, $file) = File::Spec->splitpath($path_curf);
    print "C Dir = ", $dirs,"\n";
    my $count = 1;#可以是任意字符串
    chdir $dirs;#saveComment_temp.py 程序所在位置
    system("python python_t.py -n $count");
}
chdir $dirs;#saveComment_temp.py 程序所在位置

PerlCallPython();
    
    
******python文件内需要的程序***python_t.py*******
#coding:utf-8
import argparse
parser = argparse.ArgumentParser()  #建立parser
parser.add_argument('-n')  #接受n存入
args = parser.parse_args()  #得到所有参数
#获得的内容: Namespace(n='1')
#注意不是字符串 而是一个类,所以需要str()转换
path_temp = args;
print args;

========================================================================
========================================================================
========================================================================
python 调用 perl
python代码
    #coding:utf-8
    import subprocess
    arg1 = "10";
    arg2 = "20";
    #无参数调用方法
    #subprocess.call(["perl", "XXXXX\\XXXXXX\\perl_t.pl"]) #注意路径
    #subprocess.call接受字符串参数,所以arg1 = "10";
    #有参数调用方法
    subprocess.call(["perl", "XXXXX\\XXXXXX\\\perl_t.pl", arg1, arg2]) #注意路径

    
perl代码
print "call perl\n";
sub fun0
{
    my $fun0_t0 = $ARGV[0];
    my $fun0_t1 = $ARGV[1];
    print "\$fun0_t0: ($fun0_t0)\n";
    print "\$fun0_t1: ($fun0_t1)\n";
}
fun0();
sleep(1000);
修改上面的路径就可以只接运行程序



深入学习链接:

http://www.jb51.net/article/57208.htm

http://blog.chinaunix.net/uid-26000296-id-4461522.html


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯