Estoy comenzando con Python (ya es hora de que lo intente) y estoy buscando algunas de las mejores prácticas.
Mi primer proyecto es una cola que ejecuta experimentos de línea de comandos en varios subprocesos. Estoy empezando a tener un main.pyarchivo muy largo y me gustaría dividirlo. En general, estoy buscando: ¿Cómo organizan los programadores de Python múltiples archivos fuente? ¿Existe una estructura en particular que funcione para usted?
Mis preguntas específicas incluyen:
- ¿Debería estar cada clase en un archivo separado?
- ¿Cómo debo organizar las pruebas unitarias relativas al código fuente?
- ¿Dónde debo colocar los comentarios de documentos, específicamente aquellos para la operación de línea de comandos?
- Si utilizo varios directorios, ¿cómo importo clases entre ellos?
Probablemente pueda sacar algunas de mis propias conclusiones aquí por ensayo y error, pero prefiero comenzar con algo bueno .
python
unit-testing
code-organization
Andrés Jaan Tack
fuente
fuente

Respuestas:
El artículo que Eric señaló es asombroso porque cubre detalles de la organización de grandes bases de código Python.
Si ha llegado aquí desde Google y está tratando de averiguar cómo dividir un archivo fuente grande en varios archivos más manejables, resumiré el proceso brevemente.
Suponga que actualmente tiene todo en un archivo llamado
main.py:utils.pypara este ejemplo)main.pyenutils.pymain.pyañadir una sola línea en la parte superior:import utilsConceptualmente, lo que hace es crear un nuevo módulo llamado
utilsen otro archivo fuente. Luego puede importarlo donde sea necesario.fuente
La forma en que debe organizar su código y las pruebas es exactamente la misma que lo haría para cualquier lenguaje OO.
Respuestas de la forma en que lo hago. Puede que no esté bien, pero funciona para mí.
__init__.pyarchivos relevantes estén en las carpetas. es solo un simple caso defrom module import classfuente