jython - 无法在 TigerJython 中使用 pickAFile
问题描述
在 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 更新中。
PS我很抱歉这么晚才回答,我最近才加入SO并且不知道你的问题(我是TigerJython的原作者之一)。
推荐阅读
- selenium - linux上的Chromedriver:[严重]:无法从渲染器接收消息
- c# - 使用测试属性数据构建参数化 nunit 测试
- git - 在 git 中查找提交文件的特定组合
- ubuntu-18.04 - Ubuntu 18.04 LTS-如何使用特定版本设置 default-jre?
- azure-data-factory-2 - Azure 数据工厂 V2 中的 Parquet 小数问题
- angular - 如何避免对默认“应该创建”方法的 api 调用
- c# - ASP.Net.Core userManager.CreateAsync
- javascript - 将 @Input() 对象属性分配给组件
- c# - 为什么从 ASP.NET Core Web API 的 ControllerBase 与 Controller 派生?
- python - 赋值前引用的局部变量“sql”