-
7월 1주차 Error + Unknown 모음.Data Engineer 2023. 7. 8. 16:34728x90
- six 모듈
: Six는 python2 및 3 호환성 라이브러리로, 유틸리티 기능을 제공한다. 두 Python 버전 모두에서 호환되는 Python 코드 작성을 목표로 Python 버전 간의 차이점을 매끄럽게 하기 위해 만들어졌다. Python 2.7 및 3.3 이상을 지원하며, 하나의 Python 파일에만 포함되어 있으므로 프로젝트에 쉽게 복사할 수 있다.
https://six.readthedocs.io
pyspider를 지금 뜯어보고 있는데 six 모듈은 위 설명과 같이 이전 파이썬 버전의 함수를 사용할 수 있게 해주는 모듈인 것 같다.
- Python 상위/하위 폴더에 있는 파일 import 하기
파이썬에는 패키지 import 말고 내가 만든 파일을 불러 올 수 있다. 다음과 같은 문제는 깃헙에 있는 오픈소스를 clone하여 데이터를 로드하여 코드를 수정하는 데 문제가 되었었다. (Ex. NoModuleError) 이 문제는 파이썬 코드의 가독성을 위해서라도 반드시 알아야할 사항이다. 왜냐하면 다른 파일에 있는 함수를 가져오는 것(import)은 직접 입력하는 것보다 훨씬 효율적이기 때문이다.
1. 같은 폴더에 있는 파일 import
Ex.
F1 |- aaa.py |- bbb.py
다음과 같은 파일 구조가 있다고 가정하자.
aaa.py에서 bbb.py를 불러오고 싶을 때
# aaa.py에서 bbb.py를 불러오고 싶을 때 import bbb
다음과 같이 불러오면 bbb.py 내 코드를 사용할 수 있다.
2. 하위 폴더에 있는 파일 import
Ex.
-F1 |-aaa.py |-bbb.py --F2 |--ccc.py
F1 안에 있는 F2에 ccc.py 파일이 있는 경우,
aaa.py에서 ccc.py를 불러오고 싶을 때
from F2 import ccc
3. 상위 폴더에 있는 파일 import
2에서 반대로, ccc.py에서 aaa.py를 불러오고 싶을 때
import sys, os sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) import aaa
이렇게 절대 경로를 참조하는 코드를 넣으면 F2와 같은 선상에 있는 aaa.py와 bbb.py를 불러올 수 있다.
4. 같은 선상에 있는 폴더 내 파일 import
- F1 |- aaa.py |- bbb.py --F2 |-- ccc.py --F3 |-- ddd.py
ccc.py에서 ddd.py를 불러오고 싶을 때,
import sys, os sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) from F3 import ddd
마찬가지로 절대 경로 참조하는 코드를 넣어 import가 가능하다.
* 참고 : https://freedata.tistory.com/70
728x90'Data Engineer' 카테고리의 다른 글
Spring 입문 강의 정리 노트 (0) 2023.07.31 Mac Java 11 설치 (0) 2023.07.27 오픈소스 분석법 (0) 2023.06.22 [Kafka] Consumer의 내부 동작 원리와 구현 (0) 2023.06.19 [Boaz] Data Pipeline 발제자료 (1) 2023.06.07