Python 외장함수
외장 함수
- 파이썬 사용자들이 만들어 놓은 것들을 모아 놓은 곳이 파이썬 라이브러리이다.
- 그 중 유용한 것들을 정리해보았다
- sys
- 파이썬 인터프리터가 제공하는 변수들과 함수들을 직접 제어하게 해주는 모듈이다.
- sys.argv - 명령 행에서 인수 전달하기
- 도스 창에서
C:/User/home>python test.py abc pey guido
라고 test.py 뒤에 값을 넣어주면 sys.argv리스트에 그 값들이 추가된다. - 또한 공백을 기준으로 나뉘어서 리스트의 요소가 된다.
- sys.exit - 강제로 스크립트 종료하기
- ctrl+z 나 ctrl+d 와 같은 역할을 한다.
- sys.path - 자신이 만든 모듈 불러와 사용하기
- 모듈들이 저장되어 있는 위치를 나타내고, 이 위치에 있는 파이썬 모듈들은 경로에 상관없이 불러올 수가 있다.
- sys.path.append("경로")로 경로를 추가할 수 있다.
- pickle
- 객체 형태를 유지하며 파일에 저장하고 불러올 수 있게 하는 모듈이다.
- ex)pickle.dump를 이용해서 그대로 저장하는 예
>>> import pickle
>>> f = open("test.txt", 'wb')
>>> data = {1: 'python', 2: 'you need'}
>>> pickle.dump(data, f)
>>> f.close()
ex)pickle.load를 이용해 객체상태 그대로 불러오는 예
>>> import pickle
>>> f = open("test.txt", 'rb')
>>> data = pickle.load(f)
>>> print(data)
{2:'you need', 1:'python'} - OS모듈
- 환경 변수, 디렉터리, 파일 등의 os자원을 제어할 수 있게 해주는 모듈
- os.environ - 환경변수 값을 알고 싶을 때
- os.chdir("경로") - 디렉터리 위치 변경하기
- os.getcwd() - 디렉터리 위치 반환
- os.system("명령여") - 시스템 명령어 호출하기
- 시스템 자체의 프로그램이나 기타 명령어들을 호출하여 사용한다.
- os.popen("명령어") - 실행한 시스템 명령어 결과값 반환받기
- 읽기 모드 형태의 파일 객체로 반환한다.
- os.mkdir(디렉터리) - 디렉터리 생성하기
- os.rmdir(디렉터리) - 디렉터리 삭제하기(단, 비어있어야 삭제가능)
- os.unlink(파일) - 파일 삭제하기
- os.rename(src, dst) - srt라는 이름의 파일을 dst라는 이름으로 바꾸기
- shutil
- 파일을 복사해 주는 파이썬 모듈
- shutil.copy(src, dst) - 파일 복사하기
- src라는 이름의 파일을 dst로 복사한다. dst가 디렉터리 이름이라면 dst라는 디렉터리에 복사하고, 동일한 이름이 있을 경우 덮어쓴다.
- glob
- 특정 디렉터리에 있는 파일이름을 모두 알아야 할 때 사용하는 모듈
- glob(pathname) - 디렉터리에 있는 파일들을 리스트로 만들기
- *, ? 등의 메타 문자를 써서 원하는 파일만 읽어 들일 수도 있다.
- tempfile
- 파일을 임시로 만들어 사용하는 모듈
- temp.filemktemp() - 중복되지 않는 임시 파일의 이름을 무작위로 만들어서 반환하기
- temp.TemporaryFile() - 임시 저장 공간으로 사용될 파일 객체로 반환하기(기본적으로 바이너리 쓰기모드(wb))
- time
- 시간과 관련된 모듈
- time.time() - UTC를 사용하여 1970년 1월 1일 0시 0분 0초를 기준으로 지난시간을 초 단위로 반환
- time.localtime() - time.time()에 의해 반환된 실수 값을 이용해 연도, 월, 일, 시, 분, 초 등의 형태로 바꾸어주는 함수
- time.asctime() - time.localtime()에 의해 반환된 튜플 형태의 값을 인수로 받아서 알아보기 쉬운 형태로 반환하는 함수
- time.ctime() - time.asctime(time.localtime(time.time()))을 간편하게 표시할 수 있고, asctime과 다른 점은 항상 현재 시간만 리턴한다.
- time.strftime('출력할 형식 포맷 코드', time.localtime(time.time())) - 시간에 관계된 것을 세밀하게 표현할 수 있는 포맷코드를 제공
- time.sleep() - 루프 안에서 많이 사용되고, 일정한 시간 간격을 두고 루프를 실행할 수 있다.
- calendar
- 파이썬에서 달력을 볼 수 있게 해주는 모듈
- calendar.calendar(연도) - 그 해 전체의 달력을 볼 수 있다.
- calendar.prcal(연도) - 위와 같은 결과값
- calendar.prmonth(연도, 달) - 그 달의 달력만 보여준다.
- calendar.weekday(연도, 월, 일) - 요일 정보를 반환하는 데 월요일을 기준으로 0으로 시작하여 날짜별로 하나씩 늘어나 숫자로 반환한다.
- calendar.monthrange(연도, 월) - 1일이 무슨 요일인지, 그 달이 며칠까지 있는지 튜플형태로 반환한다.(요일은 숫자로 반환)
- random
- 난수 발생시키는 모듈
- random.random() - 0.0 ~ 1.0 사이의 실수 중 난수값을 반환
- random.randint(a, b) - a~b 사이의 정수 중에서 난수값을 반환
- random.choice(data) - 입력받은 리스트에서 무작위로 하나를 선택하여 반환
- random.shuffle(data) - 리스트 항목을 무작위로 섞어 반환
- webbrowser
- 기본 웹브라우저가 자동으로 실행되게 하는 모듈
- webbrowser.open(URL) - 해당 URL로 이동한다. 웹브라우저가 실행중이면 주소로 이동하고, 실행중이 아니라면 새로 실행하여 이동한다.
- webbrowser.open_new(URL) - 웹브라우저를 새로 실행한 후, 해당 URL로 이동한다.
- threading
- 쓰레드를 다루는 모듈
- threading.Thread(f, x) - 첫번째 인수에 함수 이름을, 두번째 인수는 첫번째 인수인 함수의 입력변수를 받는다. 이를 이용해 쓰레드를 할당한다.
- 클래스로 정의할 경우__init__메서드에서 threading.Thread.__init__(self)와 같이 부모 클래스의 생성자를 반드시 호출 해야한다.
- 이를 통해 클래스로 생성된 객체에서 start 메소드를 실행 할때 그 클래스의 run 메소드가 자동으로 수행된다.
댓글
댓글 쓰기