相关文章推荐
率性的麦片  ·  windows 下安装perl Tk ...·  2 周前    · 
睡不着的豌豆  ·  python 全球降水四季空间分布图 ...·  1 年前    · 
奔跑的遥控器  ·  软件测试|selenium复用已打开浏览器- ...·  1 年前    · 
酒量小的小刀  ·  Mysql Grant ...·  2 年前    · 
被表白的罐头  ·  mysql创建多列组合唯一索引,unique ...·  2 年前    · 
文质彬彬的草稿纸  ·  资源收藏!用数据读懂地球——地球科学数据研究 ...·  2 年前    · 
Code  ›  perl和python的相互调用开发者社区
python 编程语言 perl
https://cloud.tencent.com/developer/article/1567631
活泼的石榴
2 年前
作者头像
py3study
0 篇文章

perl和python的相互调用

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > python3 > perl和python的相互调用

perl和python的相互调用

作者头像
py3study
发布 于 2020-01-08 10:58:27
1.3K 0
发布 于 2020-01-08 10:58:27
举报

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

注意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];
 
推荐文章
率性的麦片  ·  windows 下安装perl Tk 模块 - 庐州月光
2 周前
睡不着的豌豆  ·  python 全球降水四季空间分布图 居中经线问题_python 画世界图的时候将经度以180的为中心-CSDN博客
1 年前
奔跑的遥控器  ·  软件测试|selenium复用已打开浏览器-阿里云开发者社区
1 年前
酒量小的小刀  ·  Mysql Grant 用户权限总结(详细编)_51CTO博客_mysql授权用户grant所有权限
2 年前
被表白的罐头  ·  mysql创建多列组合唯一索引,unique index_create unique index if not exists_后打开撒打发了的博客-CSDN博客
2 年前
文质彬彬的草稿纸  ·  资源收藏!用数据读懂地球——地球科学数据研究优质项目汇总 - 知乎
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号