본문 바로가기

python67

[python] 문자열 치환 방법 파이선의 문자열 치환법 파이선의 문자열 치환은 format() 메소드를 이용하거나, % 를 이용하여 딕셔너리나 튜플을 이용하여 치환하는 방법이 있다. #!/usr/bin/python # -*- coding: utf-8 -*- # format 이용(3.x 버전에서는 사용 안됨) sentence1 = 'I am a {}' print sentence1.format("boy") # format 및 번호 이용 sentence2 = 'I am a {0}' print sentence2.format("boy") # format 에 리스트와 dict 를 이용한 방법 sentence3 = "I am a {0} and {x}" print sentence3.format("boy", x="girl") # % 와 dict 를 이.. 2015. 6. 12.
[python] subprocess 모듈을 이용한 명령어 실행 파이선으로 외부 명령어 실행 파이선으로 외부 명령어를 실행하는 방법은 subprocess 모듈을 사용한다. subprocess 모듈은 2.4 버전부터 추가 되었으며 기존에 사용하던 다른 모듈을 대체한다. os.system os.spawn* os.popen* popen2.* command.* subprocess.Popen() subprocess 의 Popen() 메소드를 이용하여 로컬 프로그램, 명령어를 사용한다. Popen()의 shell 파라미터는 기본이 False이고, 명령어를 문자열로 쉘에 전달하려면 True로 설정해야 한다. #!/usr/bin/python # -*- coding: utf-8 -*- import subprocess import shlex # 문자열 명령어 실행 def subproc.. 2015. 6. 11.
파이썬의 중요 특징(클로저함수, 장식자, 생성기, 코루틴) @클로저함수 함수안에 또다른 함수가 선언되어 반환되는 것을 클로저 함수라고 한다. - 전역변수를 사용하지 않음 - 내부 데이터의 은닉에 활용 http://jonnung.blogspot.kr/2014/09/python-easy-closure.html http://nbviewer.ipython.org/github/jonnung/book-review/blob/master/core_python_study/closure/python_closure.ipynb @장식자 - 데코레이터 데코레이터의 개념은 일종의 래핑(wrapping) 함수 실행되는 함수를 파라미터로 받아서 실행되는 함수 #!/usr/bin/python # -*- coding: utf-8 -*- import time def elapsed_time(fun.. 2015. 2. 9.
[python][xlswriter] xlsxwriter 의 메모리 점유해제를 위한 constant_memory 모드 설정 @xlsxwriter 사용시 대용량 데이터를 이용할 경우 주의할 점 xlsxwrite 는 파일을 생성할 때 worksheet 을 이용하여 write 한 데이터를 메모리에 저장한다. 입력한 데이터를 이용하여 데이터를 조작할 때 유용하게 이용하기 위해 사용하고 있는데 이렇게 되면 모든 데이터가 메모리에 저장되기 때문에 대용량 데이터를 쓸때 메모리가 급격하게 늘어나는 것을 확인할 수 있다. 8만 라인을 쓰는데 500G 정도의 메모리를 이용하는 것을 확인하였다. 이로 인해 파이선이 메모리 오류로 죽어 버리는 경우가 발생하였다. OSError: [Errno 12] Cannot allocate memory 이를 방지하기 위해서 다음과 같이 선언하면 된다. workbook = xlsxwriter.Workbook(fi.. 2015. 2. 4.
[파이선2] 파이선2의 한글 인코딩 비교하기 > 한글 >> 한글 # 서로다른 타입에 대한 확인 print type(h1) print type(h2) >> >> # 리스트에 추가후 출력 str_list = [] str_list.append(h1) str_list.append(h2) print str_list >> ['\xed\x95\x9c\xea\xb8\x80', u'\ud55c\uae00'] ''' # UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal 오류 발생 if h1 == h2: print True ''' ''' # UnicodeDecodeError: 'ascii' codec .. 2015. 1. 12.
Python 에 한글 입력하기 파이선 코딩시에 한글을 입력하기 위해서는 파일의 처음에 utf-8로 인코딩이 됨을 알려주어야 한다. #!/usr/bin/python # -*- coding:utf-8 -*- 추가적으로 입력시에 coding: 는 coding : 처럼 띄어서 쓰면 안된다. 콤마(:)를 띄어쓰면 아래와 같이 인코딩 설정을 인식하지 못한다. 주의하자. SyntaxError: Non-ASCII character '\xec' in file 2015. 1. 9.
문자열 포맷팅 [string 포맷팅] python 의 문자열 포맷팅은 두가지 방법을 사용한다. - .format() - % 두가지 방법중 어떤 방법을 사용해도 상관없다. % 를 이용하는 것이 권장되고 있는 것 같다. #!/usr/bin/python # -*- coding : utf-8 -*- # format 이용 sentence1 = 'I am a {}' print sentence1.format("boy") # format 에 리스트와 dict 를 이용한 방법 sentence3 = "I am a {0} and {x}" print sentence3.format("boy", x="girl") # % 와 dict 를 이용한 방법 sentence2 = "I am a boy %(x)s" print sentence2 % { "x.. 2014. 12. 24.