调用 Python
功能
调用执行指定的 Python 脚本,可选择向其传递一个输入参数或列表参数。
输入
| 名称 | 说明 | 示例 |
|---|---|---|
| 参数 | 【array of string】此项必须为集合的形式 | ['111','222'] |
| 列表参数 | 【String】字符串列表。此参数在2023.06.02及之后的server版本中新增加的。 | 列表(传入变量) |
| 文件 | 【String】要调用的Python脚本文件的完整路径 | |
| 脚本 | 【String】要调用 Python 脚本内容 | [Python脚本内容] |
注意:参数和列表参数二选一填写即可,文件和脚本二选一填写即可。
编码
| 名称 | 说明 | 示例 |
|---|---|---|
| 输入 | 【枚举】输入编码的具体格式,可选择Default/Ansi/UTF8/UTF16/UTF32 | Default |
| 输出 | 输出编码的具体格式,可选择 Default/Ansi/UTF8/UTF16/UTF32 | Default |
| 错误 | 给出编码的错误提示格式,可选择Default/Ansi/UTF8/UTF16/UTF32 | Default |
选项
| 名称 | 说明 | 示例 |
|---|---|---|
| 执行程序 | 【String】Python.exe 程序路径,为空时则会从系统环境变量里查找 | |
| 超时时终止 | 【布尔】确定到达超时期间是否会终止脚本进程。默认不勾选,表示超时时不终止脚本,勾选则超时时会终止脚本进程。 | 不勾选 |
| 等待输出 | 【布尔】等待信息输出。默认勾选,表示会等待信息输出为止,不勾选则不会等待信息输出。 | 勾选 |
输出
| 名称 | 说明 | 示例 |
|---|---|---|
| 结果 | 输出内容 | 结果(创建输出变量) |
| 异常信息 | 输出异常信息 | 异常信息(创建输出变量) |
注意/说明
1.输入表中的“文件”和“脚本”两个项只需要填写一个即可,若是同时填写,则只会调用“文件”项里的 Python 文件。
2.输入表中的“参数”和“列表参数”两个项只需要填写一个即可,若是同时填写,则只传入“参数”的数据。
3.输入表中的“执行程序”项若是为空,则会从系统环境变量里查找 Python 程序路径。
4.编码表一般默认选择 “Default”,若是输出结果或者错误为中文乱码,则把编码表中的输出项和错误项改为 UTF8 即可。
相关函数
【构建字符串列表】
示例/演示
调用 python 时,若使用“参数”进行参数传递,示例如下:
(1)手动填写参数内容和要调用 Python 的脚本内容,创建结果变量。
(2)输出结果变量,运行后可看到结果如下截图所示。
调用 Python 时,若使用“列表参数”进行参数传递,示例如下:
(1)插入【构建字符串列表】函数,输入列表参数内容。
(2)输入列表参数变量和要调用 Python 的脚本内容。
(3)输出结果变量,运行后可看到结果如下截图所示。
示例附件
使用“参数”进行参数传递示例中被调用的 Python 脚本内容:
# encoding:gbk
#import AomScript
import sys
value="1"
level="Normal" # "Normal" "Offline" "Unknown" "Hint" "Warning" "Secondary" "major" "Error"
notes=""
# python script
if __name__ == '__main__':
print '参数个数为:', len(sys.argv), '个参数。'
print '参数列表:', str(sys.argv)
if (sys.argv > 2):
value = sys.argv[1]
# return
print "value[%s]" %value
print "level[%s]" %level
print "notes[%s]" %notes
使用“列表参数”进行参数传递示例中被调用的 Python 脚本内容:
# encoding:gbk
#import AomScript
import sys
value="1"
level="Normal" # "Normal" "Offline" "Unknown" "Hint" "Warning" "Secondary" "major" "Error"
notes=""
# python script
if __name__ == "__main__":
print("参数个数为:"+str(len(sys.argv)) +"个参数。")
print("参数列表:"+ str(sys.argv))
if (len(sys.argv) > 2):
value = sys.argv[1:]
# return
print (value)
print (level)
print (notes)
使用“参数”进行参数传递的组件示例:
使用“列表参数”进行参数传递的组件示例: