关于“未声明变量”未定义的PythonCaller中的神秘错误”的注释和答案 https://knowledge.亚搏在线safe.com/questions/82105/mysterious-error-in-pythoncaller-undeclared-variab.html 关于“PythonCaller中的神秘错误,未声明变量”未定义的问题的最新评论和答案 答案由lifalin2016 https://knowledge.亚搏在线safe.com/answers/82430/view.html

显然,这个错误的原因仍然和我写这个问题时一样神秘。由于很容易避免(不要在input()中重命名“feature”),所以我结束了这个问题。

格林尼治时间2018年11月13日星期二13:01:22 lifalin2016
lifalin2016对lifalin2016的评论 https://knowledge.亚搏在线safe.com/comments/82247/view.html

我将其重命名为原来的名称,其中def input()中的“ft”代替了“feature”

格林尼治时间2018年11月9日星期五8:50:24 lifalin2016
lifalin2016对lifalin2016的评论 https://knowledge.亚搏在线safe.com/comments/82246/view.html 2018年11月9日星期五08:49:22格林尼治时间 lifalin2016 lifalin2016对lifalin2016的评论 https://knowledge.亚搏在线safe.com/comments/82245/view.html

它是由AttributeFileWriter编写的WMS调用的输出创建的。

格林尼治时间2018年11月9日星期五08:46:35 lifalin2016
lifalin2016对lifalin2016答案的评论 https://knowledge.亚搏在线safe.com/comments/82244/view.html

作为一个好奇,并重新命名“ft”回“功能”在我的代码,现在它不会出错!?!

此外,错误引用(第16行)是“def close”,其中只有一个“pass”语句,提示我在一些隐藏的“代码隐藏”中假设错误。

格林尼治时间2018年11月9日星期五08:43:48 lifalin2016
评论由mark2atsafe对mar亚搏在线k2atsafe的答案 https://knowledge.亚搏在线safe.com/comments/82167/view.html

对不起,这

一个

性格并不是必需的。我们有一些怪癖与最新的知识库更新。

2018年11月8日星期四16:39:06格林尼治时间 mark2at亚搏在线safe
答案由mark2atsafe亚搏在线 https://knowledge.亚搏在线safe.com/answers/82164/view.html

您可以尝试在close方法中添加一个特性吗?最后几行是

def close(self): feature = fmeobjects.FMEFeature()一次通过

从我看到的另一个案例中,我有一种感觉,这可能会有所帮助。

2018年11月8日星期四16:36:52 GMT mark2at亚搏在线safe
david_r评论david_r的评论 https://knowledge.亚搏在线safe.com/comments/82144/view.html

很难说,因为我无法重现这个问题。有没有可能发布一个最小的示例工作区来重现问题?

格林尼治时间2018年11月8日星期四12:35:17 david_r
david_r评论david_r的评论 https://knowledge.亚搏在线safe.com/comments/82143/view.html

本周早些时候论坛更新了一个更新,外管局仍在努力解决一些问题。亚搏在线

你能把代码作为附加的.txt文件发布吗?希望这能奏效。

2018年11月8日星期四12:32:12 GMT david_r
lifalin2016对lifalin2016答案的评论 https://knowledge.亚搏在线safe.com/comments/82142/view.html

但是,为什么FME随后会发出错误消息,并命名有问题的“feature”变量呢?

2018年11月8日星期四格林尼治时间12:31:51 lifalin2016
lifalin2016对lifalin2016答案的评论 https://knowledge.亚搏在线safe.com/comments/82141/view.html

不,大多数“传递”行实际上是需要的,因为Python在任何上下文中至少需要一行代码。
我可以看到web UI已经删除了所有相关的缩进。为什么在这个web UI中添加未重新格式化的代码的可能性被删除了?

格林尼治时间2018年11月8日星期四12:30:08 lifalin2016
david_r评论david_r的评论 https://knowledge.亚搏在线safe.com/comments/82140/view.html

确实,但我假设文件是先在某处创建的:-)

但是,是的,也许这并不适用于你的情况…

2018年11月8日星期四12:28:40 GMT david_r
lifalin2016对lifalin2016答案的评论 https://knowledge.亚搏在线safe.com/comments/82139/view.html

python调用者不创建临时文件,而是删除它。

2018年11月8日星期四12:26:57 GMT lifalin2016
答案由david_r https://knowledge.亚搏在线safe.com/answers/82116/view.html

另一件事,可能有点无关:如果您只是在转换期间需要一个临时文件,我强烈建议使用TempPathnameCreator,而不是用Python实现某些东西。

变压器的正面是:

  • 可以在Windows、Linux和OSX上无缝工作
  • 尊重定义临时文件位置的系统设置(漫游配置文件等)
  • 不需要编写和维护代码

最棒的是:FME will自动删除使用此转换器创建的临时目录/文件,因此不必这样做。即使FME崩溃,它也能工作。

2018年11月8日星期四08:31 GMT david_r
ebygomm对ebygomm的评论 https://knowledge.亚搏在线safe.com/comments/82115/view.html

啊,确实如此

08:26:08 GMT ebygomm
答案由david_r https://knowledge.亚搏在线safe.com/answers/82113/view.html

您确定已经发布了完整的代码吗?我无法重现我这边的问题。

2018年11月8日星期四08:15:08格林尼治时间 david_r
大卫评论大卫的回答 https://knowledge.亚搏在线safe.com/comments/82112/view.html

实际上,即使在input()方法中重命名了“feature”参数,FME 2018.1和2017.1中的代码对我都适用。

2018年11月8日星期四08:14:01格林尼治时间 david_r
答案由david_r https://knowledge.亚搏在线safe.com/answers/82110/view.html

另外,您可以安全地删除inp亚搏在线ut()方法中的所有“pass”行。这不是错误的来源,但也不做任何事。

2018年11月8日星期四08:11:27格林尼治时间 david_r
答案由ebygomm https://knowledge.亚搏在线safe.com/answers/82107/view.html

feature不是模板代码中的变量,它不应该被重命名

2018年11月8日星期四07:47:33格林尼治时间 ebygomm