417 lines
14 KiB
Markdown
417 lines
14 KiB
Markdown
# 第三方交互 / Python
|
|
|
|
## `defaultConnectAndLogin(alias)`
|
|
|
|
声明:function
|
|
|
|
通过配置文件登录
|
|
|
|
<!-- tags: 连接 会话 认证 文件系统 文档文件 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ------ | ---------------- |
|
|
| `alias` | string | 字符串。配置别名 |
|
|
|
|
返回:tuple
|
|
|
|
## `connectServer(addr, port, proxy_info)`
|
|
|
|
声明:function
|
|
|
|
连接天软服务器。如果用户是使用代理服务器进行连接,可使用ProxyInfo 参数传入相关信
|
|
|
|
<!-- tags: 会话 服务端 网络服务 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------ | ------- | ------------------------------------------------------------------------------- |
|
|
| `addr` | string | 字符串。地址 |
|
|
| `port` | integer | 整数。端口 |
|
|
| `proxy_info` | list | 列表。代理信息,依次为代理地址、代理端口、代理用户名、代理密码、代理模式。 特别 |
|
|
|
|
返回:integer
|
|
|
|
## `loginServer(user, pass)`
|
|
|
|
声明:function
|
|
|
|
登录天软服务器。占用登录数相关说明可参考:TSLPy 模块中,通过 ConnectServer 多次连接
|
|
|
|
<!-- tags: 会话 认证 服务端 网络服务 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------ | ------ | ---------------- |
|
|
| `user` | string | 字符串。用户账号 |
|
|
| `pass` | string | 字符串。用户密码 |
|
|
|
|
返回:tuple
|
|
|
|
## `disconnect()`
|
|
|
|
声明:function
|
|
|
|
断开连接
|
|
|
|
<!-- tags: 会话 注销 Python 跨语言调用 远程执行 -->
|
|
|
|
返回:nil
|
|
|
|
## `logined()`
|
|
|
|
声明:function
|
|
|
|
判断是否登录
|
|
|
|
<!-- tags: 检查 判定 验证 认证 Python 跨语言调用 远程执行 -->
|
|
|
|
返回:boolean
|
|
|
|
## `setService(service)`
|
|
|
|
声明:function
|
|
|
|
设置服务器类型
|
|
|
|
<!-- tags: 配置 服务端 网络服务 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| --------- | ------ | ----------------------------------------------------------------- |
|
|
| `service` | string | 字符串。指定的服务器类型,可参考:Python 中指定天软服务器执行命令 |
|
|
|
|
返回:nil
|
|
|
|
## `getService()`
|
|
|
|
声明:function
|
|
|
|
获取服务器类型
|
|
|
|
<!-- tags: 查询 服务端 网络服务 Python 跨语言调用 远程执行 -->
|
|
|
|
返回:string
|
|
|
|
## `getComputeBitsOption()`
|
|
|
|
声明:function
|
|
|
|
获取服务器计算位数
|
|
|
|
<!-- tags: 查询 计算位数 服务器架构 -->
|
|
|
|
返回:integer
|
|
|
|
## `remoteExecute(exec_string, sys_param)`
|
|
|
|
声明:function
|
|
|
|
远程执行天软语句
|
|
|
|
<!-- tags: 调用 远程调用 跨进程 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------- | ------ | ------------------------------------------------------------ |
|
|
| `exec_string` | string | 字符串。 天软语句 |
|
|
| `sys_param` | dict | 可选。字典。天软执行的系统参数,参考系统参数简介。可以为空{} |
|
|
|
|
返回:tuple
|
|
|
|
## `remoteCallFunc(func, args, sys_param)`
|
|
|
|
声明:function
|
|
|
|
远程执行天软函数
|
|
|
|
<!-- tags: 调用 远程调用 跨进程 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ----------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `func` | string | 字符串。 天软函数名 |
|
|
| `args` | list\|tuple | 可选。列表。天软函数的参数 ,可以为空[] 。注意,如果天软函数需要的参数为 表达式类型,直接传递会失败,需要另外实现参数的传递。比如可以重新封装函数,然后传入字 符串并将字符串转换为天软的表达式类型 |
|
|
| `sys_param` | dict | 可选。字典。天软执行的系统参数,参考系统参数简介。可以为空{} |
|
|
|
|
返回:tuple
|
|
|
|
## `setSysParam(name, value)`
|
|
|
|
声明:function
|
|
|
|
设置系统参数
|
|
|
|
<!-- tags: 配置 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ------ | ------------------ |
|
|
| `name` | string | 字符串。系统参数名 |
|
|
| `value` | any | 设置系统参数的值 |
|
|
|
|
返回:nil
|
|
|
|
## `getSysParam(name)`
|
|
|
|
声明:function
|
|
|
|
获得系统参数
|
|
|
|
<!-- tags: 查询 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------ | ------ | ------------------ |
|
|
| `name` | string | 字符串。系统参数名 |
|
|
|
|
返回:any
|
|
|
|
## `encodeDate(y, m, d)`
|
|
|
|
声明:function
|
|
|
|
在 Python 中构造天软日期。Q:天软的日期是什么格式的?
|
|
|
|
<!-- tags: 编码 转换 交易日期 日期时间 脚本交互 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ---- | ------- | -------- |
|
|
| `y` | integer | 整数。年 |
|
|
| `m` | integer | 整数。月 |
|
|
| `d` | integer | 整数。日 |
|
|
|
|
返回:float
|
|
|
|
## `encodeTime(h, m, s, ss)`
|
|
|
|
声明:function
|
|
|
|
在 Python 中构造天软时间
|
|
|
|
<!-- tags: 编码 转换 时间处理 日期时间 脚本交互 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ---- | ------- | ---------- |
|
|
| `h` | integer | 整数。小时 |
|
|
| `m` | integer | 整数。分钟 |
|
|
| `s` | integer | 整数。秒 |
|
|
| `ss` | integer | 整数。毫秒 |
|
|
|
|
返回:float
|
|
|
|
## `encodeDateTime(y, m, d, h, m, s, ss)`
|
|
|
|
声明:function
|
|
|
|
在 Python 中构造天软日期时间
|
|
|
|
<!-- tags: 编码 转换 交易日期 时间处理 脚本交互 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ---- | ------- | ---------- |
|
|
| `y` | integer | 整数。年 |
|
|
| `m` | integer | 整数。分钟 |
|
|
| `d` | integer | 整数。日 |
|
|
| `h` | integer | 整数。小时 |
|
|
| `m` | integer | 整数。分钟 |
|
|
| `s` | integer | 整数。秒 |
|
|
| `ss` | integer | 整数。毫秒 |
|
|
|
|
返回:float
|
|
|
|
## `decodeDate(date)`
|
|
|
|
声明:function
|
|
|
|
将天软日期转换到 Python 数组
|
|
|
|
<!-- tags: 解码 格式化 交易日期 日期时间 列表 集合 脚本交互 Python -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------ | ----- | ---------------- |
|
|
| `date` | float | 浮点数。天软日期 |
|
|
|
|
返回:tuple
|
|
|
|
## `decodeTime(time)`
|
|
|
|
声明:function
|
|
|
|
将天软时间转换到 Python 数组
|
|
|
|
<!-- tags: 解码 格式化 时间处理 日期时间 列表 集合 脚本交互 Python -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------ | ----- | ---------------- |
|
|
| `time` | float | 浮点数。天软时间 |
|
|
|
|
返回:tuple
|
|
|
|
## `decodeDateTime(datetime)`
|
|
|
|
声明:function
|
|
|
|
将天软日期时间转换到 Python 数组
|
|
|
|
<!-- tags: 解码 格式化 交易日期 时间处理 列表 集合 脚本交互 Python -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ---------- | ----- | -------------------- |
|
|
| `datetime` | float | 浮点数。天软日期时间 |
|
|
|
|
返回:tuple
|
|
|
|
## `getData_01(stock_arr, endt)`
|
|
|
|
声明:function
|
|
|
|
获取股票列表在指定日期的截面行情数据
|
|
|
|
<!-- tags: 查询 证券 个股 市场数据 价格数据 交易日期 日期时间 Python -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ----------- | ---------- | ---------------------- |
|
|
| `stock_arr` | array | 待查询的股票代码数组 |
|
|
| `endt` | t_datetime | 截面数据对应的查询日期 |
|
|
|
|
返回:array
|
|
|
|
## `getData_02(stock_id, begt, endt)`
|
|
|
|
声明:function
|
|
|
|
获取单只股票在指定区间的时间序列行情数据
|
|
|
|
<!-- tags: 查询 时序 序列数据 证券 个股 市场数据 价格数据 时间处理 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ---------- | ---------- | ---------------------- |
|
|
| `stock_id` | string | 待查询的股票代码 |
|
|
| `begt` | tdatetime | 时间序列查询的开始日期 |
|
|
| `endt` | t_datetime | 时间序列查询的截止日期 |
|
|
|
|
返回:array
|
|
|
|
## `pyPutVar(var_name, var_value)`
|
|
|
|
声明:function
|
|
|
|
送入 Python 变量
|
|
|
|
<!-- tags: 脚本交互 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ----------- | ------ | -------------- |
|
|
| `var_name` | string | 字符串。变量名 |
|
|
| `var_value` | any | 变量值 |
|
|
|
|
返回:integer
|
|
|
|
## `pyGetVar(var_name)`
|
|
|
|
声明:function
|
|
|
|
从 Python 获得变量
|
|
|
|
<!-- tags: 查询 脚本交互 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ---------- | ------ | -------------- |
|
|
| `var_name` | string | 字符串。变量名 |
|
|
|
|
返回:any
|
|
|
|
## `pyRun(python_code, flag)`
|
|
|
|
声明:function
|
|
|
|
运行 Python 代码
|
|
|
|
<!-- tags: 执行 调用 脚本交互 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `python_code` | string | 字符串。Python 代码串,可执行多行代码。注意,使用空格对齐来确定逻辑层级, 相同空格数代表同一层级,一般推荐使用 4 个空格 |
|
|
| `flag` | integer | 可选。整数。可选参数,默认不被指定。该参数可用于 PyCompileFlags 指定组合的状态,处理 UT F-8 源代码等问题。具体请参考 Python 手册 |
|
|
|
|
返回:integer
|
|
|
|
## `pyCall(call_flag, module_name, func_name, ...)`
|
|
|
|
声明:function
|
|
|
|
调用 Python 模块中的函数
|
|
|
|
<!-- tags: 执行 脚本交互 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `call_flag` | integer | 可选。整数。设置结果输出方式与参数输入方式,是一个按位(2 位二进制)的状态组合值, 即取值为二进制的 00,01,10,11 组合。具体含义如下: 位(从低到高位) 位值 参数值 说明 不存在 1(默认值) 直接返回调用函数的结果,参数一个个送入。 第 1 位(结果输出方式) 0 0 或 2 |
|
|
| `module_name` | string | 字符串。模块名 |
|
|
| `func_name` | string | 字符串。模块中的函数名。Param1..ParamN 为被调用函数的参数,可以为参数数组, 也可以依次传入参数。支持 Name:Value模式进行命名参数的指定,但依次传入的命名参数方式目 前只在新一代客户端下一代全新测试服务器中支持。当为参数数组时,格式为 array('参数名 1':参 数值 1, ' 参数名 2':参数值 2, …);当依次传入参数时,格式为参数名 1:参数值 1, 参数名 2:参数值 2,… |
|
|
| `...` | any | 可选。传给该接口的其余可变参数 |
|
|
|
|
返回:any
|
|
|
|
## `pyError()`
|
|
|
|
声明:function
|
|
|
|
获取当前运行 Python 语句时的报错信息
|
|
|
|
<!-- tags: 查询 执行 调用 错误码 异常诊断 脚本交互 Python 跨语言调用 -->
|
|
|
|
返回:string
|
|
|
|
## `pyRelease()`
|
|
|
|
声明:function
|
|
|
|
释放 Python 资源,多线程时可以提高效率
|
|
|
|
<!-- tags: 清理 脚本交互 Python 跨语言调用 远程执行 -->
|
|
|
|
返回:boolean
|
|
|
|
## `pyEnsure()`
|
|
|
|
声明:function
|
|
|
|
锁定 Python 资源。由于 PyRun、PyPutVar、PyGetVar 会智能锁定,所以用户一般不需要调用
|
|
|
|
<!-- tags: 执行 线程同步 脚本交互 Python 跨语言调用 远程执行 -->
|
|
|
|
返回:boolean
|
|
|
|
## `localExecute(exec_string)`
|
|
|
|
声明:function
|
|
|
|
本地执行天软语句
|
|
|
|
<!-- tags: 调用 本地调用 本机执行 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------- | ------ | ---------------- |
|
|
| `exec_string` | string | 字符串。天软语句 |
|
|
|
|
返回:tuple
|
|
|
|
## `localCallFunc(func, args)`
|
|
|
|
声明:function
|
|
|
|
本地执行天软函数
|
|
|
|
<!-- tags: 调用 本地调用 本机执行 Python 跨语言调用 远程执行 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------ | ----------- | -------------------- |
|
|
| `func` | string | 字符串。天软函数名称 |
|
|
| `args` | list\|tuple | 列表。天软函数的参数 |
|
|
|
|
返回:tuple
|
|
|
|
### 示例
|
|
|
|
范例01:调用示例
|
|
|
|
```tsl
|
|
Rdo2 unit(tspy_unit).QY_py_cleardiyVar();
|
|
a := rdo2 doPython03();//doPython03()中错误代码已修正
|
|
return a;
|
|
```
|