본문 바로가기

python12

[Python] 파이썬 정규식 반복 메타 문자 반복 메타 문자 의미 * 0회 이상 반복 + 1회 이상 반복 ? 0회 혹은 1회 {m} m회 반복 {m,n} m회부터 n회까지 반복 매칭 메타 문자메타 문자의미.줄바꿈 문자를 제외한 모든 문자와 매치됨^문자열의 시작과 매치됨.[]메타 기호 안에서는 반대의 문자열을 취함$문자열의 마지막과 매치됨[]문자 집합 중 한 문자를 의미함|또는(or)를 의미함()정규식을 그룹으로 묶음 이스케이프 기호분야설명\\역슬래쉬 문자 자체\d모든 숫자와 매치됨 [0-9]\D숫자가 아닌 문자와 매치됨[^0-9]\s화이트 스페이스 문자와 매치됨[ \t\n\r\f\v]\S화이트 스페이스가 아닌 것과 매치됨 [^ \t\n\r\f\v]\w숫자 또는 문자와 매치됨[a-zA-Z0-9_]\W숫자 또는 문자가 아닌 것과 매치됨.. 2016. 10. 27.
[Python] call by assignment (call by object, call by object reference) 공식 문서에는 Python은 call by assignment라고 되었다. Python은 모든 것이 객체(object)이고 객체에는 두 가지 종류가 있다. 1. immutable objectint, float, tuples 등이 함수 arguments로 넘어갈 땐 call by value로 넘어감. 2. mutable objectlist, dict, set과 같이 mutable object 가 argument로 넘어가면 object reference가 넘어가서 담고 있는 값이 바뀔 수도 있다. >>> def spam(eggs): ... eggs.append(1) ... eggs = [2, 3] ... >>> ham = [0] >>> spam(ham) >>> print(ham) [0, 1] eggs.app.. 2016. 10. 26.
[Python] RabbitMQ Publish Subscribe RabbitMQ 에 Publish/Subscribe 하는 방식입니다.Publishtopic 으로 호출하는 방식import pika import json class Publish(object): def __init__(self): self.connection = None self.channel = None self.topic = None def is_connect(self, host, topic=None): try: self.topic = topic self.connection = pika.BlockingConnection(pika.ConnectionParameters( host=host )) self.channel = self.connection.channel() self.channel.queue_dec.. 2016. 10. 26.
[Python] SQL Injection 과 보호 방법 SQL injection protection장고의 queryset(ORM)을 사용할 경우, SQL injection을 막아준다. 하지만 raw queries를 사용하는 extra(), RawSQL를 사용하거나 실제로 connection을 통해 직접적인 쿼리를 통해 사용할 경우에는 SQL injection 처리를 따로 해줘야 한다.Python SQL injectionhttp://bobby-tables.com/python.html 에서 Python SQL injection 방법에 대해 설명하고 있다.Bad:cmd = "update people set name='%s' where id='%s'" % (name, id)curs.execute(cmd)Good:cmd = "update people set name=.. 2016. 10. 13.