개발사항 사용자로부터 파일명을 입력 받는다. (입력이 없으면 default 'mbox-short.txt') 파일을 읽어 이메일 주소만 추출한다. 추출한 이메일 주소와 빈도수를 체크하여 DATABASE 에 저장한다. 상위 10개의 이메일과 빈도수를 출력한다. import sqlite3 conn = sqlite3.connect('emaildb.sqlite') cur = conn.cursor() cur.execute('DROP TABLE IF EXISTS COUNTS') cur.execute('CREATE TABLE COUNTS (EMAIL TEXT, COUNT INTEGER)') fname = input('ENTER FILE NAME : ') if (len(fname) < 1) : fname = 'mbox-..
개발사항 사용자로부터 URL 을 입력 받는다. 입력받은 URL 의 a 태그 속성을 모두 출력한다. import urllib.request, urllib.parse, urllib.error from bs4 import BeautifulSoup import ssl ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE url = input('Enter - ') html = urllib.request.urlopen(url, context=ctx).read() soup = BeautifulSoup(html, 'html.parser') tags = soup('a') for tag in tags : pr..
pip 패키지 설치 pip install [package_name] pip 패키지 업그레이드 pip install --upgrade [package_name] pip 패키지 설치 - 특정버전으로 업그레이드 pip install --upgrade [package_name]==[package_version] ex) pip install --upgrade pandas==1.1.2 pip 패키지 전체 업데이트 설치된 패키지 전체 목록을 리다이렉트하여 파일로 만든다. pip freeze > pip_upgrade_temp.txt 파일을 오픈하여 == 를 >= 로 수정한다. numpy==1.19.1 pandas==1.1.2 Pillow==7.2.0 를 아래와 같이 수정하고 저장한다. numpy>=1.19.1 pand..
개발사항 소켓을 생성하여 'data.pr42.org' 80 포트로 연결한다. romeo.txt 파일 내용을 출력한다. 모든 내용이 출력되면 소켓을 종료시킨다. import socket # 소켓 생성 후 connect (data.pr4e.org 80포트 연결) mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) mysock.connect(('data.pr4e.org', 80)) # 명령어를 UTF-8 로 인코딩하고 send() 메소드로 명령어 실행 cmd = 'GET http://data.pr4e.org/romeo.txt HTTP/1.0\r\n\r\n'.encode() mysock.send(cmd) # romeo.txt 파일을 512바이트 단위로 수신하..