python调用perl_perl和python的相互调用

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

注意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/74857499perl调用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);

修改上面的路径就可以只接运行程序

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值