Как перечислить все классы Java в каталоге в Jython - PullRequest
1 голос
/ 19 декабря 2011

Я считаю утомительным импортировать класс java в jython из-за длинных имен пакетов.например, com.example.xyzSomeClass.Это много печатать.Я хочу импортировать, используя только простое имя класса (SomeClass в моем примере).Есть ли способ достичь этого?Текущее решение в моей голове состоит в том, чтобы перечислить все классы в пути к классам и подготовить карту простого имени класса к полному имени пакета, например -

SomeClass -> com.example.xyzSomeClass
SomeOtherClass -> com.example.pqrSomeOtherClass

и т. д.Затем вызовите функцию, как показано ниже -

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 в каталоге будет делать.

1 Ответ

1 голос
/ 04 января 2012

Это что-то вроде хака, я уверен, что там лучше, но если все остальное терпит неудачу, помните, что файлы JAR - это просто ZIP-файлы, и что у каждого класса будет файл .class в банке.

Однако вместо того, чтобы взламывать механизм импорта, подобный этому, я бы предпочел просто использовать IDE с надлежащим автозаполнением (т.е. Eclipse / PyDev, это единственный, который может делать это надежно в моем опыте), и качать Ctrl-пространство.

...