IDL

IDL 8.5中的Python Bridge

0
分享 2016-06-09
IDL 8.5新增了IDL与Python互相调用的接口。在IDL代码中,可以访问任何Python模块,进行参数传递,或者调用built-in函数。同样的,在Python代码中,可以调用IDL功能,进行参数传递,或者操作IDL对象。
具备如下特性:
  •  支持Python 2.7+和Python 3.4+版本
  •  支持调用所有IDL程序和Python模块
  •  无缝调用:在代码编写上保持原有风格
  •  调用中所有输出参数被转换为标准输出格式
  •  自动处理代码字母大小写和行列优先顺序
  •  可以在任意语言中执行任意命令字符串
  •  自动将IDL数组转换为numpy数组
  •  调用程序或方法时,数据按地址进行传递
  •  可以双向传递主变量


安装方法
1) 第一步就是要安装IDL 8.5(这不废话么…⊙﹏⊙‖∣);
2) 安装Python,版本要求Python 2.7.x 或 3.4.x,并包含numpy library。如果已经安装Python和numpy,请无视此步骤。如果没有安装,可以安装Anaconda(超级简单,鄙人就是安装的这个东东),包含了Python Bridge需要的所有功能模块;
注:Anaconda下载地址http://www.continuum.io/downloads
注:尽量别安装多个版本的Python,之前我安装了2.7.10和3.4.3两个版本,结果在IDL中使用时提示如下信息:
% PYTHON::LOAD: Unable to find a valid Python installation.
当我卸载3.4.3后,才可以正常使用。
3) 最后就是配置环境变量。
计算机——属性——高级系统设置,选择“高级”选项卡,点击下方的“环境变量”按钮,然后添加如下两个系统变量:


 
图:添加的Path变量


图:添加的PYTHONPATH变量

4) 然后就可以Happy的使用了。

示例代码
1) 第一种:IDL调用Python


运行结果如下图所示:

图:IDL中调用Python

2) 第二种:IDL中使用Python命令行
在IDL控制台中输入 >>>,然后回车,即可进入Python命令行模式,如下所示:

运行效果与上图相同。
当不输入命令,直接回车时,退出Python命令行模式。

3) 第三种:Python调用IDL
启动Python,调用方法如下所示:



图:Python调用IDL


图:Python调用IDL绘图


图:Python调用IDL生成的PDF文档

文章来源:http://blog.sina.com.cn/s/blog_764b1e9d0102wj5h.html

0 个评论

要回复文章请先登录注册