반응형

Python 40

[Python] 파이썬 파일 옮기기 - File Move구현하기

파이썬 파일 옮기기 - File Move구현하기 들어가며 파이썬에서 파일을 옮길때 사용하는 코드를 설명할 생각입니다. 다른 블로그에서 os.rename을 통해 파일을 옮기려고 했는데, 옮겨지지가 않더라구요. 그래서 찾은 다른 방법입니다. shutil이라고 기본으로 내장이 되어있는 모듈을 사용해서 .move를 통해 파일을 이동하는 방법입니다. 예제코드 예제 코드는 "/home/banana/test.txt"의 파일을 "/home/banana/txt/test.txt"로 옮기는 코드입니다. src와 dir을 지정해주면 됩니다. 간단하네요. import shutil filename = 'test.txt' src = '/home/banana/' dir = '/home/banana/txt/' shutil.move(s..

Programming/Python 2016.05.19

[Python] 파이썬 Exception 처리하기

파이썬 예외처리(Exception 처리하기)예제코드 프로그래밍을 하면서 중요한 것 중에 하나가 바로 예외처리입니다. Exception의 종류는 코드 상에서 컴파일러가 처리해주는 Exception이 있고, 실행하는 과정에서 발생하는 Exception이 있습니다. 실행 과정에서 생기는 Exception은 처리하지 않을 경우에는 프로그램이 종료되는 엄청난 치명적인 결과를 직면할 수 있기 때문에, 예외처리를 꼭 해줘야 하는데요. 이번에는 python에서 예외처리하는 방법에 대해서 설명하려고 합니다. 저 같은 경우에는 예외처리를 다 잡아놓고 detail을 항상 출력을 해서 확인을 하고 있습니다. 중간에 종료되는게 너무 싫어서 프로그램은 한번 돌고, 만약 실행과정에서 발생하는 Exception이 발생하면 화면에 출..

Programming/Python 2016.05.19

[Python] BeautifulSoup UTF-8 설정 (Encoding, 한글 깨짐 현상)

BeautifulSoup UTF-8 설정 (Encoding, 한글 깨짐 현상)들어가며 저에게 진짜 파이썬을 하면서 가장 짜증날때가 언제니? 라고 하면 자신감있게 "이놈의 UTF-8 인코딩이다." 라고 말을 하고 싶을 정도로 화가 날때가 있습니다. 특히 다른언어를 접하다가 python을 접하면 가장 먼저 이해하기 어려운게 encoding인데요. 이번에도 beautifulsoup을 통해 웹페이지의 소스를 가져오는곳에서 인코딩 문제가 발생했습니다. 웹페이지의 content를 가져와서 화면에 뿌리면 평소에 보지 못한 피라미드에 적혀있을 법한 상형문자들이 보입니다. 그 애들이 무엇을 말하고 싶었는지 알기 위해서는 인코딩 설정이 필요합니다. 해결하는 방법은... 매우 간단합니다. 한줄도 아닌 1/3줄을 추가하시면 ..

Programming/Python 2016.04.20

[Python] Web 스크랩 및 파싱 :: BeautifulSoup 사용방법

Web 스크랩 및 파싱하기 :: BeautifulSoup 사용방법 들어가며 웹에서 페이지를 스크랩하는 방법에 대해서 설명하려고 합니다. 웹페이지를 스크랩한다는 말은 웹 페이지에서 [오른쪽 마우스 클릭] --> [소스보기] 에 있는 텍스트를 가져온다고 생각하시면 됩니다. 웹에 있는 페이지에 특정 단어나, 이미지의 url 등을 가져오고 싶은 경우가 있습니다. 일단 가져오기 전에 feasibility(가능성)를 따져본 후에, 가능 하다면 페이지의 소스코드를 가져오고, 일정 포맷에 있는 데이터를 가져오면 됩니다. 내가 원하는 페이지에 들어간다. [그림 1] 인터넷 페이지 오른쪽 마우스를 클릭한 후에 View Source를 누른다. (또는 페이지 소스보기) [그림 2] 인터넷 페이지 소스코드 구현하기 구현해야 하..

Programming/Python 2016.04.20

[Python] Dictionary key기준, value 기준으로 정렬하기

Dictionary key기준, value기준으로 정렬하기 들어가며 파이썬을 사용하다 보면 자주 List만큼 자주 사용하는 객체가 있으니 그것이 바로 dictionary입니다. 그렇기 때문에 dict을 자유롭게 다룰 줄 알아야 합니다. 자 그렇다면 기본 중에 기본인 정렬하는 방법에 대해서 알아보겠습니다. 일단 dict의 형태에 대해서 간단하게 설명하면 key, value의 쌍으로 이루어져 있습니다. 예제를 통해 알아보겠습니다. 구현하기 operator를 통해 정렬을 할 수 있습니다. 두개의 차이는 operator.itemgetter()에서 1, 0을 넘기는 거에 따라 key로 정렬, value로 정렬을 할 수 있습니다. 1을 값을 기준으로 정렬을 할때 사용하고, 0은 키를 기준으로 정렬이 가능합니다. v..

Programming/Python 2016.04.19

[Python] 파이썬 MySQL사용시 UnicodeEncodeError 해결 방법

들어가며 Python과MySQL을 사용해본 사람 중에 Encoding문제를 한번도 겪지 않았다면, 이 글을 읽을 필요가 없습니다. 하지만 이 두개는 쌍으로 encoding문제로 괴롭히는 주범이라고 할 수 있지요. 각각의 설정에 대해서 설명하겠습니다. MySQL MySQL에서는 테이블 생성시에 설정을 해주면 됩니다. 테이블의 기본 character 를 utf8로 설정하시면 됩니다. 또는 각 string값이 들어가는 varchar와 같은 변수옆에 character set 'utf8'을 하나씩 해주셔도 됩니다. create table `test`.`test` ( `text` varchar(50) character set 'utf8' ) default character set =utf8 Python MySQLd..

Programming/Python 2016.03.31

[Python] 파이썬 인코딩 문제 SyntaxError: Non-ASCII character

들어가며 파이썬으로 코딩을 할때 많은 에러가 발생하지만 가장 자주 마주하는 에러는 인코딩 문제일 것이다. 파이썬은 기본 인코딩이 ASCII코드이다. 우리가 파이썬 한글이 포함된 스크립트를 실행할때 발생하는 에러와 에러 해결 방법에 대해서 설명하겠다. 에러 내용 SyntaxError: Non-ASCII character '\xeb' in file app.py on line 166, but no encoding declared; see http://python.org/dev/peps/pep-0263/ f or details 해결 방법 .py의 파일 위에 나는 utf8, euc-kr의 인코딩을 기본으로 사용할 것이다. 라고 명시적으로 입력을 해주면 문제가 해결된다. #-*- coding: utf-8 -*- 또..

Programming/Python 2016.03.26

[Python] Join, Split 리스트를 문자열로, 문자열을 리스트로 변환

들어가며 파이썬에 내장되어 있는 함수 join, split을 이용해 문자열(String)을 리스트(List)로 변환하는 방법입니다. Join 함수는 리스트를 특정 구분자를 포함해 문자열로 변환해 주는 함수입니다. Split함수는 문자열을 특정 구분자를 기준으로 나누어 리스트로 변환해 주는 함수입니다. 리스트(List)를 특정 구분자를 포함해 문자열(String)으로 변환 animals = ['사자', '코끼리', '기린', '원숭이', '바나나원숭이'] print ",".join(animals) # >> 사자,코끼리,기린,원숭이,바나나원숭이 print "\n".join(animals) # >> 사자 # >> 코끼리 # >> 기린 # >> 원숭이 # >> 바나나원숭이 print "/".join(animal..

Programming/Python 2016.03.23

[Python] MySQL 설치 및 쿼리 (접속/SELECT/INSERT/DELETE/UPDATE)

들어가기 Python에서 MySQL을 연동하는 방법입니다. 설치부터 접속, SELECT, INSERT, DELETE, 그리고 UPDATE고에 대해서 정리해 놓은 내용입니다. 설치하기$ pip install MySQL-python 접속하기 import MySQLdb con = MySQLdb.connect('192.168.1.198', 'username', 'password', 'database') cur = con.cursor(MySQLdb.cursors.DictCursor) 여기서 MySQLdb.cursors.DictCursor를 사용하는 이유는 query를 통해 데이터를 얻을때 python의 dict로 얻기 위한 방법입니다. SELECT query = " select * from %s" & (table..

Programming/Python 2016.03.23
반응형