| 
 
	积分4251贡献 精华在线时间 小时注册时间2012-12-12最后登录1970-1-1 
 | 
 
| 
本帖最后由 zhangqqqf 于 2018-4-3 14:22 编辑
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  
 基于python3.6的CIMISS数据统一服务接口客户端开发
 
 说明:
 1. MUSIC系统内基于python的客户端调用方法的说明文档已经过时, 如果你使用的是python3.x请参考本文档进行开发;
 
 
 Python:
 3.x 下载地址:https://www.python.org/downloads/
 
 IDE:
 Pycharm 下载地址: https://www.jetbrains.com/pycharm/download/#section=windows
 开发工具的使用方法请自行google,练习使用;
 
 创建新工程:
 pycharm创建新项目工程: 例如 D:\JetBrains\Projects\python\mimo(mimo为项目名,请自行命名,路径自由选择)
 
 Virtual Environment:
 本过程可省略, 但是为了避免不同依赖库版本的混乱,我这里建议为不同的开发项目建立单独的虚拟环境virtualEnv, 如果你熟悉命令行操作,可以使用Pycharm集成的virtualEnv创建,我这里基于Python 3.6.2 建立的virtualenv 放在指定目录内, 例如 D:\JetBrains\virtualEnv\mimoEnv,  创建完虚拟环境注意pip版本的升级.
 说明: 本文档内下面所有使用的python命令均为本虚拟环境下的简写, 例如python -V, 实际执行的为D:\JetBrains\virtualEnv\mimoEnv\Scripts\python -V
 
 执行命令检查版本(python3.x pip 9.x):
 python -V
 Python 3.6.2
 
 pip -V
 pip 9.0.1 from d:\jetbrains\virtualenv\mimoenv\lib\site-packages (python 3.6)
 
 pip list
 pip (9.0.1)
 setuptools (18.1)
 wheel (0.30.0)
 
 zeroc-ice:
 官方地址: https://zeroc.com/downloads/ice#python
 安装zeroc-ice依赖包:  执行命令 D:\JetBrains\virtualEnv\mimoEnv\Scripts\pip install zeroc-ice
 (说明: 该网站很慢, 如果可以梯子请翻墙)
 pip list 检查,如果存在zeroc-ice(3.7.0.1) 则安装成功;
 
 基础客户端包
 MUSIC网站上下载的music-lib-python-v1.6.0.zip并不可用, 请使用我提供的附件cma.zip, 并解压缩放到项目工程目录中
 例如: D:\JetBrains\Projects\python\mimo\cma
 
 DEMO程序:
 例如: D:\JetBrains\Projects\python\mimo\client.py
 
 复制代码# Created on 2017/08/25
#
# @author: zhangxin
import datetime
from cma.cimiss.DataQueryClient import DataQuery
if __name__ == '__main__':
   
    # 定义client对象,指定数据服务ip和port
    # client = DataQuery(serverIp="10.96.89.55", serverPort=1888)
    # 定义client对象,默认使用client.config指定服务连接配置,需根据自己的地址进行修改
    client = DataQuery()
    # 用户名和密码
    userName = "BEHB_xxxx"
    password = "xxxxx"
    # 接口ID
    interfaceId = "getSurfEleInRegionByTime"
    # 当前时间减一天
    now_time = (datetime.datetime.now() - datetime.timedelta(hours=8)).strftime('%Y%m%d%H') + "0000"
    print('now_time:', now_time)
    # 接口参数
    params = {'dataCode': "SURF_CHN_MUL_HOR_N",
              'elements': "Station_ID_C,PRE_12h",
              'times': now_time,
              'adminCodes': "230100",
              'orderby': "Station_ID_C:ASC",
              'limitCnt': "100000"}
    retArray2D = ""
    # 调用接口
    # 1.获取数据返回结构体/类
    # retArray2D = client.callAPI_to_array2D(userName, password, interfaceId, params)
    # 2.获取数据返回序列化字符串
    # dataFormat 序列化的数据格式,可取:xml、json、csv、text、spaceText、commaText、tabText等。
    #            其中,spaceText、commaText、tabText表示保存为文本,记录间换行,要素值间分别用空格、逗号和TAB分割;text同spaceText。
    # retArray2D = client.callAPI_to_serializedStr(userName, password, interfaceId, params, dataFormat="csv")
    # 3.获取数据写入本地文件
    # dataFormat 序列化的数据格式,可取:xml、json、csv、text、spaceText、commaText、tabText等。
    #            其中,spaceText、commaText、tabText表示保存为文本,记录间换行,要素值间分别用空格、逗号和TAB分割;text同spaceText。
    # savePath 保持的本地文件路径(全路径,含文件名)
    # 保存文件的路径及文件名
    _saveDir_ = '.\data'
    # 一种字符串拼接方法
    _saveFile_ = '%s.txt' % now_time
    # 又一种字符串拼接方法
    _savePath_ = _saveDir_ + _saveFile_
    print('savePath:', _savePath_)
    result = client.callAPI_to_saveAsFile(userName, password, interfaceId, params, dataFormat='csv', savePath=_savePath_)
    # 输出结果预览
    print(retArray2D)
    # 销毁client对象
    client.destroy()
DEMO程序执行:
 python clinet.py
 `
 Ice Checked!
 now_time: 20180130120000
 savePath: .\data\20180130120000.txt
 Ice Destory!
 `
 我把附件补充了上了, 有需要的朋友下载吧;  如果没有积分可以私信我, 直接发你;
 如果有任何问题欢迎私信或邮件, 一起交流学习;
 
 
 
 
 
 
 
 | 
 
 
mimo.zip
 1.24 MB, 下载次数: 465, 下载积分: 金钱 -5  
 demo 
 
cma.zip
 7.74 KB, 下载次数: 444, 下载积分: 金钱 -5  
 ice-lib 评分
查看全部评分
 |