无法在 TigerJython 中使用 pickAFile

Unable to use pickAFile in TigerJython

在 JES 中,我可以使用:

file=pickAFile() 

然而,在 TigerJython 中,我收到以下错误

NameError: name 'pickAFile' is not defined

我做错了什么?

你没有做错任何事。问题是 pickAFile() 不是 Python 中的标准函数。它实际上是 JES 为了方便而添加的一个功能,但您可能不会在任何其他环境中找到它。

由于 TigerJythonJES 都是基于 Jython 的,您可以轻松地自己编写一个 pickAFile() 函数使用 Java 的 Swing。这是一个可能的简单实现(JES 中的 pickAFile() 可能有点复杂,但这应该可以帮助您入门):

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 的原作者之一)。