span8
第4排
我试图创建一个python fme shutdown脚本。我需要它引用两种类型的变量(1)一个静态变量;和(2)一个变量,其值仅在FME运行时已知。
选项(1)我可以通过一个已发布的参数ebale,并在我的关机脚本中将其引用为$FME_MacroValues(myParam)
选项(2)更复杂。我尝试在工作台中使用variablesetter transformer,但关闭脚本似乎无法识别该变量。我还尝试创建一个虚拟的已发布参数,并再次使用variablesetter在运行时重置其值,但是shutdown脚本只识别出它的默认值,而不是它的运行时值。
是否需要在启动脚本中首先设置全局变量;在运行时进行修改;以及在关机脚本中使用它——不确定语法上这是否是最好的实践?
那么,您打算如何在python shutdown脚本中公开在fme运行时更新的全局变量和/或已发布参数?如果有人能提供一些python语法示例,那将真正帮助我。
问候
迈克
你好,关于将运行时数据从FME工作区传递到关闭脚本这一问题,有点过时的可能是,但对我来说是可行的[2015年故障模式与后果分析],可能不能在所有平台上工作,可能有点脏:
我使用一个创建者和一个pythoncaller执行以下创建环境变量的脚本:
import fmeimport fmeobjectsimport os template函数接口:def featureprocessor(feature):os.environ['a_var']='my value'打印os.environ['a_var']pass
shutdown python脚本只引用pythoncaller脚本中创建的env var:
import os print'这是关机\n'print os.environ['a_var']
结果如下:
….翻译成功,0个警告(0个功能输出)FME会话持续时间:1.2秒。(CPU: 0.2 s的用户,0.5s系统)端- ProcessID: 5796,进程内存使用峰值:60748 kB,当前进程内存使用情况:60644 kbfm_end_python:从字符串评估python脚本…fm_end_python:python脚本执行完成。转换成功值这是关闭值
基本上,environ也是一个全局结构。
你好@geospatiallover-请尝试将数据集值发布为FeatureWriter中的参数,然后在python关闭脚本中使用如下内容访问此参数:sourceDataset=fme_macrovalues['url']—其中'url'是已发布的参数名。
这对我很有用:
导入fmeobjectsimport webbrowser模板功能界面:def popup(feature):myfile=feature.getattribute(“数据集”)打印myfile new=2在新选项卡中打开,如果可能在我自己的(Windows)计算机上打开HTML文件url=my file webbrowser.open(url,new=new)
它在测试工作区中运行:
关于如何在关闭脚本中实现数据集格式参数,我需要一些建议。
下面我的当前关机脚本有一个硬编码的html路径/文件名,我想使用FeatureWriter数据集参数作为我的关机脚本的url。
导入fmeimport fmeobjectsimport webbrowsernew=2在新选项卡中打开,如果可能在我自己的(Windows)计算机上打开HTML文件url=“file://///h:/2016/dgn_conversions/solution/output/helloworld.html”webbrowser.open(url,new=new)
我用下面的脚本在我的FeatureWriter之后添加了一个pythoncaller
MyFile打印输出
\\ alxapfs23\rsalvale$\2016\dgn_转换\解决方案\输出\helloworld.html
模板函数接口:使用此函数时,确保其名称设置为“要处理功能的类或函数”transformer参数def process feature(feature):global myfile myfile=feature.getattribute(“数据集”)print myfile pass的值。
我从FME得到这个错误信息:
fme end python:从字符串评估python脚本…2016-07-21 10:57:03 1.3 0.0 inform end-processID:13812,峰值进程内存使用量:70520 KB,当前进程内存使用情况:70416 kbpython异常:不支持的操作数类型&:'str'和'str'回溯(最近一次调用最后一次):File " ”,第12行,在 类型错误:不支持&:'str'和'str'执行字符串时的操作数类型
?2019安全亚搏在线软件公司|法律