Организация моего проекта Python

Легкий способ сделать это через XML. Я использовал @Component в уже обработанном jsf bean, но @Autowired не работал, потому что управляемый bean-компонент уже присутствовал в faces-config.xml. Если необходимо сохранить это управляемое имя компонента вместе с его управляемым свойством в XML-файле, тогда предлагается добавить весенний компонент в качестве другого управляемого свойства внутри тега управляемого компонента. Здесь весенний боб в нем определяется в spring-config.xml (может быть где-то попеременно). обратитесь к https://stackoverflow.com/a/19904591/5620851

под редакцией меня. Я предлагаю либо реализовать его полностью через аннотацию @Managed и @Component, либо через xml для обоих.

44
задан Teifion 25 December 2008 в 03:23
поделиться

4 ответа

Создайте __init__.py файл в Вашей папке проектов, и это будет рассматривать как модуль Python.

Классы в Вашем каталоге пакета могут тогда быть импортированы с помощью синтаксиса как:

from package import class
import package.class

В __init__.py, можно создать __all__ массив, который определяет from package import * поведение:

# name1 and name2 will be available in calling module's namespace 
# when using "from package import *" syntax
__all__ = ['name1', 'name2'] 

И вот путь больше информации, чем Вы даже хотите знать о пакетах в Python

Вообще говоря, хороший способ узнать о том, как организовать много кода, должен выбрать популярный пакет Python и видеть, как они сделали это. Я проверил бы Django и Скрученный для начинающих.

31
ответ дан Triptych 4 August 2019 в 17:17
поделиться

"Как хорошая практика, я хочу поместить их в отдельный файл каждый".

Это не на самом деле очень хорошая практика. Необходимо разработать модули, которые содержат тесно связанные классы.

На практике, никакой класс на самом деле не стоит абсолютно один. Обычно классы существуют кластеров или групп, которые логически связаны.

22
ответ дан S.Lott 4 August 2019 в 17:17
поделиться

Python не вынуждает Вас в противный стиль one-class-per-file Java. На самом деле это даже не полагало, что хороший стиль помещает каждый класс в отдельный файл, если они не огромны. (Если они огромны, вероятно, необходимо сделать рефакторинг так или иначе.) Вместо этого необходимо сгруппировать подобные классы и функции в модулях. Например, если Вы пишете калькулятор GUI, Ваш макет раскладки мог бы быть похожим на это:

/amazingcalc
   /__init__.py # This makes it a Python package and importable.
   /evaluate.py # Contains the code to actually do calculations.
   /main.py # Starts the application
   /ui.py # Contains the code to make a pretty interface
12
ответ дан Benjamin Peterson 4 August 2019 в 17:17
поделиться

простой ответ должен создать пустой файл, названный __init__.py в новой папке, которую Вы сделали. Тогда на Вашем верхнем уровне .py файл включают с чем-то как:

import mynewsubfolder.mynewclass
6
ответ дан Ali Afshar 4 August 2019 в 17:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: