-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
import 문의 - 폴더위치 및 파일명, 함수명
20.10.14 20:42 작성 조회수 210
1
안녕하세요 강사님.
현재 파일구조는 위와 같습니다. 각 파일별 import 규칙이 다른데, 관련하여 문의 드립니다.
run.py - from main import app / 하위폴더인 main 폴더를 찾고, init의 변수명.
init.py - from .common import login_required / 현재폴더의 common 파일을 찾고 거기서 함수명.
from .filter import format_datetime / 현재폴더의 filter 파일을 찾고 거기서 함수명.
from . import board / 여기서는 현재폴더의 파일명.
from . import member / 여기서는 현재폴더의 파일명.
board.py - from main import * / 현재폴더명의 모든것.
질문은 아래와 같습니다.
1. init.py - from .common import login_required ==> from . import common 으로 표기해도 되나요?
2. init.py - from . import board ==> from .board import * 으로 표기해도 되나요?
3. board.py - from main import * ==> from . import __init__ 으로 표기해도 되나요?
4. run.py - from main import app ==> from .main import app 으로 표기해도 되나요?
어떤 경우는 현재폴더의 파일명/함수명, 현재폴더/파일명, 현재폴더명/*, 하위폴더명/하위폴더의__init__의 변수명, 등등,
from/import의 규칙 및 구조가 궁금해서 문의드립니다.
감사합니다.
답변을 작성해보세요.
0
남박사
지식공유자2020.11.08
1. init.py - from .common import login_required ==> from . import common 으로 표기해도 되나요?
2. init.py - from . import board ==> from .board import * 으로 표기해도 되나요?
둘중 어떻게 하셔도 상관없으리라 생각됩니다. 다만 사용할때 common. 으로 접근해야 하기 때문에 코드가 많은경우 불필요한 코드를 더 쓰게 되는 부분도 감안해야 할듯 보입니다.
3. board.py - from main import * ==> from . import __init__ 으로 표기해도 되나요?
__init__ 는 해당 프로젝트가 실행될때 자동으로 초기화 되는 파일이므로 따로 임포트를 하지 않는게 좋습니다. 만약 init에 선언된 내용을 사용해야 한다면 따로 파일을 만들어 관리하는걸 추천합니다.
4. run.py - from main import app ==> from .main import app 으로 표기해도 되나요?
같은 표현이라고 보셔도 상관없습니다.
답변 1