无法在TigerJython中使用pickAFile。

问题描述 投票:0回答:1

在JES中,我可以使用。

file=pickAFile() 

但在TigerJython中,我却得到了以下错误信息

NameError: name 'pickAFile' is not defined

我到底做错了什么?

jython jes
1个回答
0
投票

你根本没有做错什么。 问题是 pickAFile() 并不是 Python 中的标准函数。 它实际上是一个函数,它可以 JES 为方便起见而添加的,但你可能在其他任何环境中都找不到它。

由于 TigerJythonJES 都是基于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的原作者之一)。

© www.soinside.com 2019 - 2024. All rights reserved.