2021. 4. 20. 16:05ㆍPYTHON/Do it! 점프 투 파이썬
05장 파이썬 날개 달기
05-6 라이브러리
sys
sys 모듈은 파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈이다.
명령행에서 인수 전달하기 - sys.argv
C:/User/home>python test.py abc pey guido
명령 프롬프트 창에서 위처럼 test.py 뒤에 또 다른 값을 함께 넣어주면 sys.argv 리스트에 그 값이 추가된다.
강제로 스크립트 종료하기 - sys.exit
sys.exit()
sys.exit는 Ctrl+Z나 Ctrl+D를 눌러서 대화형 인터프리터를 종료하는 것과 같은 기능을 한다. 프로그램 파일 안에서 사용하면 프로그램을 중단시킨다.
자신이 만든 모듈 불러와 사용하기 - sys.path
sys.path는 파이썬 모듈들이 저장되어 있는 위치를 나타낸다. 즉 이 위치에 있는 파이썬 모듈은 경로에 상관없이 어디에서나 불러올 수 있다.
sys.path.append를 사용해 경로 이름을 추가할 수 있다. 이후에는 C:/doit/Mymod 디렉터리에 있는 파이썬 모듈을 불러와서 사용할 수 있다.
pickle
pickle은 객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 하는 모듈이다.
OS
OS모듈은 환경변수나 디렉터리, 파일 등의 OS자원을 제어할 수 있게 해주는 모듈이다.
내 시스템의 환경 변수 값을 알고 싶을 때 - os.environ
os.environ은 환경 변수에 대한 정보를 딕셔너리 객체로 돌려준다.
디렉터리 위치 변경하기 - os.chdir
os.chdir를 사용하면 현재 디렉터리 위치를 변경할 수 있다.
os.chdir("C:\WINDOWS")
디렉터리 위치 돌려받기 - os.getcwd
os.getcwd는 현재 자신의 디렉터리 위치를 돌려준다.
os.getcwd()
'C:\WINDOWS'
시스템 명령어 호출하기 - os.system
시스템 자체의 프로그램이나 기타 명령어를 파이썬에서 호출할 수도 있다. os.system("명령어")처럼 사용한다.
os.system("dir")
실행한 시스템 명령어의 결과값 돌려받기 - os.popen
os.popen은 시스템 명령어를 실행한 결과값을 읽기 모드 형태의 파일 객체로 돌려준다.
f=os.popen("dir")
읽어들인 파일 객체의 내용을 보기 위해서는 아래와 같이 하면 된다.
print(f.read())
기타 유용한 os 관련 함수
▷os.mkdir(디렉터리): 디렉터리를 생성한다.
▷os.rmdir(디렉터리): 디렉터리를 삭제한다. 단 디렉터리가 비어있어야 삭제가 가능하다.
▷os.unlink(파일이름): 파일을 지운다.
▷os.rename(src, dst): src라는 이름의 파일을 dst라는 이름으로 바꾼다.
shutil
shutil은 파일을 복사해주는 파이썬 모듈이다. 다음은 srd라는 이름의 파일을 dst로 복사한다. 만약 dst가 디렉터리 이름이면 src라는 파일이름으로 dst 디렉터리에 복사하고 동일한 파일 이름이 있을 경우에는 덮어쓴다.
import shutil
shutil.copy("src.txt", "dst.txt")
glob
디렉터리에 있는 파일들을 리스트로 만들기 - glob(pathname)
glob모듈은 디렉터리 안의 파일들을 읽어서 돌려준다. *,? 등 메타 문자를 써서 원하는 파일만 읽어들일 수도 있다.
tempfile
파일을 임시로 만들어서 사용할 때 유용한 모듈이 바로 tempfile이다. tempfile.mkstemp()는 중복되지 않는 임시 파일의 이름을 무작위로 만들어서 돌려준다.
tempfile.TemporaryFile()은 임시 저장 공간으로 사용할 파일 객체를 돌려준다. 이 파일은 기본적으로 바이너리 쓰기모드(wb)를 갖는다. f.close가 호출되면 이 파일 객체는 자동으로 사라진다.
time
time.time
time.time()은 UTC(Universal Time Coordinated 협정 세계 표준시)를 사용하여 현재 시간을 실수 형태로 돌려주는 함수이다. 1970년 1월 1일 0시 0분 0초를 기준으로 지난 시간을 초 단위로 돌려준다.
import time
time.time()
988458015.73417199
time.localtime
time.localtime은 time.time()이 돌려준 실수 값을 사용해서 연도, 월, 일, 시, 분, 초, ...의 형태로 바꾸어주는 함수이다.
time.localtime(time.time())
time.struct_time(tm_year=2013, tm_mon=5, tm_mday=21, tm_hour=16, tm_min=48, tm_sec=42, tm_wday=1, tm_yday=141, tm_isdst=0)
time.asctime
time.localtime에 의해서 반환된 튜플 형태의 값을 인수로 받아서 날짜와 시간을 알아보기 쉬운 형태로 돌려주는 함수이다.
time.asction(time.localtime(time.time()))
'Sat Apr 28 20:50:20 2001'
time.ctime
time.asctime(time.localtime(time.time()))은 time.ctime()을 사용해 간편하게 표시할 수 있다. asctime과 다른 점은 ctime은 항상 현재 시간만을 돌려준다는 점이다.
time.ctime()
'Sat Apr 28 20:56:31 2001'
time.strftime
strftime함수는 시간에 관계된 것을 세밀하게 표현하는 여러 가지 포맷 코드를 제공한다.
time.strftime('출력할 형식 포맷 코드', time.localtime(time.time()))
time.sleep
time.sleep함수는 주로 루프 안에서 많이 사용한다. 이 함수를 사용하면 일정한 시간 간격을 두고 루프를 실행할 수 있다.
#sleep1.py
import time
for i in range(10):
print(i)
time.sleep(1)
0부터 9까지의 숫자를 1초 간격으로 출력한다. time.sleep 함수의 인수는 실수 형태를 쓸 수 있다. 0.5면 0.5초가 된다.
calendar
calendar.calendar(연도), calendar.prcal(연도)로 사용하면 그해의 전체 달력을 볼 수 있다.
import calendar
print(calendar.calendar(2015))
calendar.prcal(2015)
calendar.prmonth(2015, 12)
December 2015
calendar.weekday
weekday(연도, 월, 일) 함수는 그 날짜에 해당하는 요일 정보를 돌려준다. 월요일은 0, 화요일은 1, 수요일은 2, 목요일은 3, 금요일은 4, 토요일은 5, 일요일은 6이라는 값을 돌려준다.
calendar.weekday(2015, 12, 31)
3
calendar.monthrange
monthrange(연도, 월) 함수는 입력받은 달의 1일이 무슨 요일인지와 그 달이 며칠까지 있는지를 튜플 형태로 돌려준다.
random
random은 난수(규칙이 없는 임의의 수)를 발생시키는 모듈이다.
다음은 0.0에서 1.0 사이의 실수 중에서 난수 값을 돌려주는 예이다.
import random
random.random()
0.53840103305098674
다음은 1에서 10 사이의 정수 중에서 난수 값을 돌려준다.
random.randint(1, 10)
6
random_pop 함수는 리스트의 요소 중에서 무작위로 하나를 선택하여 꺼낸 다음 그 값을 돌려준다.
random.choice 함수는 입력으로 받은 리스트에서 무작위로 하나를 선택하여 돌려준다.
def random_pop(data):
number=random.choice(data)
data.remove(number)
return number
리스트의 항목을 무작위로 섞고싶을 때는 random.shuffle 함수를 사용하면 된다.
import random
data=[1,2,3,4,5]
random.shuffle(data)
data
[5,1,3,4,2]
webbrowser
webbrowser는 자신의 시스템에서 사용하는 기본 웹 브라우저를 자동으로 실행하는 모듈이다. webbrowser의 open 함수는 웹 브라우저가 이미 실행된 상태라면 입력 주소로 이동한다. 만약 웹 브라우저가 실행되지 않은 상태라면 새로 웹 브라우저를 실행한 후 해당 주소로 이동한다.
import webbrowser
webbrowser.open("http://google.com")
open_new 함수는 이미 웹 브라우저가 실행된 상태이더라도 새로운 창으로 해당 주소가 열리게 한다.
webbrowser.open_new("http://google.com")
'PYTHON > Do it! 점프 투 파이썬' 카테고리의 다른 글
[Do it! 점프 투 파이썬-스터디 노트] 06장 파이썬 프로그래밍, 어떻게 시작해야할까?(06-1~06-3) (0) | 2021.04.21 |
---|---|
[Do it! 점프 투 파이썬-스터디 노트] 05장 파이썬 날개 달기 연습문제 (0) | 2021.04.21 |
[Do it! 점프 투 파이썬-스터디 노트] 05장 파이썬 날개 달기(05-5 내장 함수) (0) | 2021.04.20 |
[Do it! 점프 투 파이썬-스터디 노트] 05장 파이썬 날개 달기(05-4 예외 처리) (0) | 2021.04.18 |
[Do it! 점프 투 파이썬-스터디 노트] 05장 파이썬 날개 달기(05-3 패키지) (0) | 2021.04.18 |