欢迎来到天天文库
浏览记录
ID:6379715
大小:223.14 KB
页数:7页
时间:2018-01-12
《IDL 8.5中的Python Bridge》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、IDL 8.5中的Python Bridge标签:idlpythonpythonbridge混合编程idl调用python分类: IDLIDL8.5新增了IDL与Python互相调用的接口。在IDL代码中,可以访问任何Python模块,进行参数传递,或者调用built-in函数。同样的,在Python代码中,可以调用IDL功能,进行参数传递,或者操作IDL对象。具备如下特性:l 支持Python2.7+和Python3.4+版本l 支持调用所有IDL程序和Python模块l 无缝调用:在代码编写上保持原有风格l 调用中所有输出参数被转换为标准输出格式l 自动处理
2、代码字母大小写和行列优先顺序l 可以在任意语言中执行任意命令字符串l 自动将IDL数组转换为numpy数组l 调用程序或方法时,数据按地址进行传递l 可以双向传递主变量 安装方法1) 第一步就是要安装IDL8.5(这不废话么…⊙﹏⊙‖∣);2) 安装Python,版本要求Python2.7.x 或 3.4.x,并包含numpylibrary。如果已经安装Python和numpy,请无视此步骤。如果没有安装,可以安装Anaconda(超级简单,鄙人就是安装的这个东东),包含了PythonBridge需要的所有功能模块;注:Anaconda
3、下载地址http://www.continuum.io/downloads注:尽量别安装多个版本的Python,之前我安装了2.7.10和3.4.3两个版本,结果在IDL中使用时提示如下信息:%PYTHON::LOAD:UnabletofindavalidPythoninstallation.当我卸载3.4.3后,才可以正常使用。3) 最后就是配置环境变量。计算机——属性——高级系统设置,选择“高级”选项卡,点击下方的“环境变量”按钮,然后添加如下两个系统变量:PATH=...;c:ProgramFilesExelisIDLXXbinbin.x86
4、_64;...PYTHONPATH = c:ProgramFilesExelisIDLXXbinbin.x86_64;C:ProgramFilesExelisIDLXXlibbridges注:其中XX表示IDL的版本,如85 图:添加的Path变量 图:添加的PYTHONPATH变量4) 然后就可以Happy的使用了。 示例代码1) 第一种:IDL调用PythonIDL>ran=python.import('numpy.random')%LoadedDLM:PYTHON27.IDL>arr=ran.rand(100)IDL
5、>plt=python.Import('matplotlib.pyplot')IDL>p=plt.plot(arr)IDL>void=plt.show(block=0) 运行结果如下图所示: 图:IDL中调用Python 2) 第二种:IDL中使用Python命令行在IDL控制台中输入 >>>,然后回车,即可进入Python命令行模式,如下所示:IDL>>>>>>>importmatplotlib.pyplot asplt>>>importnumpy.random asran>>>arr=ran.rand(100)>>>p=plt.plot(arr)>>>p
6、lt.show()>>> 运行效果与上图相同。当不输入命令,直接回车时,退出Python命令行模式。 3) 第三种:Python调用IDL启动Python,调用方法如下所示:>>> fromidlpyimportIDL>>> importnumpy.randomasran>>> arr=ran.rand(100)>>> p=IDL.plot(arr,title='MyPlot')>>> p.color='red'>>> p.save('myplot.pdf')>>> p.close() 图:Python调用IDL 图:Python调用IDL绘图 图:Pyth
7、on调用IDL生成的PDF文档
此文档下载收益归作者所有