PYSTRING( ) 函数

返回由外部 Python 脚本中的函数计算的字符值。Python 中的数据处理存在于 Analytics 的外部。

语法

PYSTRING("Python 文件,Python 函数", 长度 <,域|值 <,...n>>)
名称 类型 描述
Python 文件,Python 函数

字符

要运行的 Python 脚本的名称,后面依次跟一个逗号和返回值的函数的名称:

"myScript,myFunction"

指定 Python 脚本时,请省略文件扩展名。您所调用的函数可以调用该脚本或其他脚本内的其他函数,但所有脚本在运行之前都必须被放入 PYTHONPATH 系统环境变量中的文件夹内。

要了解更多信息,请参考配置 Python 以便与 Analytics 一起使用

说明

您的 PyFunction 必须返回一个 Python 字符串对象。

长度 数值 要为返回字符串分配的长度。
域|值 <,...n>

可选

字符

数值

日期时间

逻辑

这一包含域、表达式或字面量值的列表用作 Python 函数的参数。这些值被按照您指定它们的顺序传递给您调用的函数。

您可以根据需要包括任意数量的参数,以满足 Python 脚本中的函数定义的需要。

说明

请使用 ALLTRIM() 函数删除字符输入内容中的任何前导或结尾空格:ALLTRIM(str)。要了解更多信息,请参考ALLTRIM( ) 函数

输出

字符。

示例

基本示例

返回 "my test":

PYSTRING('hello,main', 20, "my")

接受一个字符串并且将 " test" 连接至该字符串的外部 Python 脚本:

#! python
# hello.py 内容
def main(str):
    str2 = str + ' test'
    return(str2)

高级示例

返回一个子串

此示例从“供应商名称”域中删除最后两个字符并返回该子串:

PYSTRING( "hello,sub_set", LENGTH(供应商名称), ALLTRIM(供应商名称), LENGTH(ALLTRIM(供应商名称)), 0, LENGTH(ALLTRIM(供应商名称)) - 2)

接受一个字符串、一个字符串长度和两个字符位置的外部 Python 脚本。该函数返回位置一和位置二之间的一个子串:

#hello.py content
def sub_set(str, length, p1, p2):
if p1 >= 0 and p2 < length and p1 < p2:
    str2 = str[p1:p2]
else:
    str2 = str
return str2
ACL 脚本指南 14.1