파이썬
-
[Python] 3.6+에서 사전자료형(Dict)은 입력순서를 보존Python/Python Programming 2018. 5. 19. 16:40
DOCS : https://docs.python.org/3/whatsnew/3.6.html 파이썬 3.6+ 에서는 사전입력 순서를 보존한다. 그렇다면 굳이 자료구조의 collections.OrderedDict()를 사용할 필요가 없다는 것인가. 또한 재구현으로 3.5 보다 메모리를 20% ~ 25% 덜 사용하는 등 개선이 있다. 사전을 차례로 입력하고 약 10번 정도 출력해 보았다. dic = {} dic['제주도'] = '한라산' dic['서울'] = '북한산' dic['강원도'] = '설악산' dic['충청북도'] = '속리산' dic['전라도'] = '속리산' cnt = 0 while cnt
-
[Python] SQLite3 Cursor.executemany() - iterator를 이용한 레코드 추가Python/SQLite 2018. 5. 18. 23:37
DOCS : https://docs.python.org/3/library/sqlite3.html?highlight=cur%20executemany#sqlite3.Cursor.executemany Cursor.execute를 이용한 레코드 입력 import sqlite3 conn = sqlite3.connect(':memory:') cur = conn.cursor() cur.execute('CREATE TABLE Score(nation, point)') cur.execute('INSERT INTO Score (nation, point) VALUES(?,?)',('kr',90)) cur.execute('INSERT INTO Score (nation, point) VALUES(?,?)',('jp',80)) c..
-
[Python] Gmail 보내기Python/Python Programming 2018. 5. 18. 12:55
파이썬(Python)을 이용한 gmail 보내기 import smtplib gmail_user = '' gmail_password = '' mailfrom = gmail_user mailto = '' subject = 'Gmail Test' body = 'Python is Beautiful' email_text = """ %s %s """ % (subject, body) try: server = smtplib.SMTP_SSL('smtp.gmail.com', 465) server.ehlo() server.login(gmail_user, gmail_password) server.sendmail(mailfrom, mailto, email_text) server.close() print('Gmail sent')..
-
[Python] 단축평가(short-circuit evalution)Python/Python Programming 2018. 5. 15. 01:51
단축평가 : 첫 번째 값이 확실할 때, 두 번째 값은 확인 하지 않음 - 2개 이상의 논리식을 판별하기 위해서 'and', 'or', '&' , '|' 연산자를 사용. (연산 순서는 왼쪽 → 오른쪽) - 파이썬의 경우 'and', 'or'의 경우 좌변 연산자가 우변 연산자보다 먼저 단축평가가 이루어짐 - 조건문에서 뒷 부분을 판단하지 않아도 되기 때문에 속도 향상 - 예외처리를 단축평가로 차단이 가능 연산 표현 설명 and print(False and True) 첫번째 값이 False 이므로 두번째는 확인하지 않고 False a = 1 b = 0 if b and 10 / b: print(True) else: print(False) False and print(False and False) or print..
-
[Python] 문자열 100개씩 잘라서 출력하기Python/Python Programming 2018. 5. 14. 17:26
로그나 문자열이 너무 길면 일정길이로 짤라서 라인으로 출력할 필요가 있다. s = 'Python is Beautiful' * 10 start = 0 end = 100 while True: print(s[start:end],end='\n') if len(s[end:]) < 101: print(s[end:]) break else: start = end + 1 end += 101 ------------------------------------------------------------- Python is BeautifulPython is BeautifulPython is BeautifulPython is BeautifulPython is BeautifulPytho n is BeautifulPython is ..
-
[Python] paramiko 모듈을 이용한 리눅스 디스크 사용량 체크Python/Python for Linux 2018. 5. 13. 23:23
파이썬(python) paramiko 모듈을 이용한 디스크 사용량 체크 import paramiko import re p = re.compile('(\d+)[%]') ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(host, username='', password='') stdin, stdout, stderr = ssh.exec_command('df -h') stdin.close() for line in stdout.read().splitlines(): m = p.findall(str(line)) if m: if int(m[0]) > 50: print('파일시스템이 50% 초과하였..
-
[Python] paramiko를 이용한 linux(리눅스) ssh 접속Python/Python for Linux 2018. 5. 13. 22:58
parkmiko : SSH2 연결 라이브러리 import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('host', username='', password='') stdin, stdout, stderr = ssh.exec_command('echo this is paramiko') stdin.close() for line in stdout.read().splitlines(): print(line.decode()) ssh.close() this is paramiko
-
[Python] 반복가능 (iterable)한 객체 오른쪽(right) 순회Python/Python Programming 2018. 5. 13. 14:54
# 스텝 슬라이싱(step slicing) 을 이용한 순회 lst = ['a','b','c','d','e','f','g'] for i in lst[::-1]: print(i, end= ' ') g f e d c b a # list pop 메소드를 이용한 순회 lst = ['a','b','c','d','e','f','g'] while True: try: print(lst.pop(), end=' ') except IndexError: break g f e d c b a