由于包名称较长,我发现在jython中导入java类很繁琐。例如com.example.x.y.z.SomeClass。这是很多打字。我想通过只使用类的简单名称(在我的示例中为SomeClass)来导入。有没有办法实现它?我头脑中的当前解决方案是枚举类路径中的所有类,并为完整的包名称准备一个简单类名的映射,如 -
SomeClass - > com.example.x.y.z.SomeClass
SomeOtherClass - > com.example.p.q.r.SomeOtherClass
等。然后调用类似下面的函数 -
def intelligent_import(simple_class_name):
#No error checking, simplified for clarity
package_name = dict[simle_class_name]
simple_class_name = __import__(package_name)
每个班级。唯一的问题是我不知道一个枚举目录中所有类的方法。有没有更好的方法来做到这一点?如果不是枚举目录中所有java类的方法都可以。
答案 0 :(得分:1)
这有点像黑客攻击,我相信我们会更好,但是如果其他一切都失败了,请记住JAR文件只是ZIP,并且每个类在jar中都有一个.class文件。
然而,我宁愿只使用一个具有适当自动完成功能的IDE(即Eclipse / PyDev,它是唯一一个可以根据我的经验可靠地完成它的工作),而不是黑客攻击这样的导入机制。空间。