在JES中,我可以使用。
file=pickAFile()
但在TigerJython中,我却得到了以下错误信息
NameError: name 'pickAFile' is not defined
我到底做错了什么?
你根本没有做错什么。 问题是 pickAFile()
并不是 Python 中的标准函数。 它实际上是一个函数,它可以 JES 为方便起见而添加的,但你可能在其他任何环境中都找不到它。
由于 TigerJython 和 JES 都是基于Jython的,你可以很容易的写一个 pickAFile()
函数,并使用Java的Swing。 这里是一个可能的简单实现(即 pickAFile()
在JES中发现的功能可能会更复杂一些,但这应该可以让你开始使用)。)
def pickAFile():
from javax.swing import JFileChooser
fc = JFileChooser()
retVal = fc.showOpenDialog(None)
if retVal == JFileChooser.APPROVE_OPTION:
return fc.getSelectedFile()
else:
return None
考虑到这是一个有用的功能,我们可能要考虑在下一次更新TigerJython时加入这个功能。
P.S. 很抱歉这么晚才回答你的问题,我是最近才加入SO的,不知道你的问题(我是TigerJython的原作者之一)。