파이썬(Python) os.path 모듈. 파일 경로 조작하기os.path 모듈을 이용하면 현재 시스템에 저장되어 있는 파일의 경로정보를 조작할 수 있으며, 해당 경로에 특정 파일이 존재하는지 등의 정보를 얻을 수 있습니다.보통 파일의 경로(path)는 문자열로 표현하기에 경로를 조작할때에는 문자열 연산을 많이 사용하게 됩니다. 따라서 os.path 모듈에서 대부분의 함수는 문자열을 매개변수로 받거나 결과로 문자열을 반환하게 됩니다.파이썬에서 운영체제별 경로 표현파일의 경로상에서 디렉터리를 구분할때 Windows 환경에서는 역슬래시()를 사용하며 Unix/Linux에서는 슬래시(/)를 사용합니다. 파이썬에서 문자열 리터럴을 표기하는 경우 역슬래시를 사용하기 위해서는 이스케이프 처리를 위해 역슬래시를 두 ..
Python
2019. 6. 13. 00:08
[Python] sys 모듈로 파이썬 프로그램 종료시키는 방법
파이썬(Python) sys 모듈로 파이썬 프로그램 종료시키는 방법Python의 sys 모듈은 현재 파이썬 프로그램이 실행되고 있는 인터프리터에 대한 정보들을 얻을 수 있는 모듈입니다. 따라서 sys 모듈을 이용하면 현재 실행되고 있는 파이썬 프로그램을 종료시킬 수 있습니다.sys.exit()특별한 경우가 아니면 매개변수 없이 sys.exit()를 호출하여 종료시킬 수 있습니다. sys 모듈을 사용하기 위해 import 시켜주어야 합니다.import sysprint('프로그램 시작')sys.exit()print('실행안됨!')프로그램이 종료되기 때문에 '실행안됨!'은 출력되지 않습니다.프로그램 시작예외처리sys.exit()는 SystemExit 예외를 던지도록 되어있기 때문에, 만약 다른 사람이 작성한 ..
리눅스[Linux]
2019. 4. 13. 00:30
[MediaWiki] 미디어위키 1.31 버전에서 SyntaxHighlight 동작 안하는 경우
미디어위키 1.31 버전에서 SyntaxHighlight 동작 안하는 경우미디어위키 1.31 버전을 설치하면서 설정 과정에서 기본 확장프로그램으로 SyntaxHighlight를 체크하여 설치하였습니다.그런데 아래 그림과 같이 코드에 대한 하이라이팅(강조)가 적용되지 않았습니다. 코드블록은 생성되는 것 같은데 문법이 인식이 안되어 CSS가 입혀지지 않은 모습입니다. 구문 강조 오류라고 나타났습니다.원인파악을 위한 디버깅 로그 출력 설정먼저 원인을 파악하기 위해 LocalSettings.php에 디버깅 로그 설정을 추가합니다. 저는 가장 마지막줄에 추가했습니다(저장필요). 디버깅 로그는 오류가 나타났을때 보여지는 로그인데, 보안상 위험하므로 반드시 오류를 확인한 후 설정을 지워주어야 합니다. (제타위키 참고..
Python
2019. 4. 12. 08:00
[Python]리눅스 CentOS에 python3버전 설치하는 방법
CentOS에 python3버전 설치하는 방법CentOS에 python3.6버전을 설치하는 방법을 알아보도록 하겠습니다. 참고로 CentOS7 버전을 기준으로 작성한 글입니다.리포지토리 추가$ sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpmyum update 실행yum update를 통해 리포지토리 추가를 마무리합니다. 이때 업데이트 할 내용이 많을수록 굉장히 오랜 시간이 걸릴 수 있습니다(10분 이상).$ sudo yum updatePython 설치이제 yum을 통해서 python을 다운로드 합니다. 다음의 명령어를 통해 설치하게 되면 python 뿐만 아니라 pip도 설치됩니다.$ sudo yum install -y pytho..
Python
2019. 4. 11. 16:11
[Python] 파이썬 mssql 쿼리시 Incorrect syntax near .. 20018 오류원인
파이썬 mssql 쿼리시 Incorrect syntax near .. 20018 오류원인파이썬에서 쿼리시에 다음과 같은 형태로 오류가 난다면 대부분 SQL 문법이나 SQL 리터럴을 유심히 보아야 합니다.During handling of the above exception, another exception occurred:Traceback (most recent call last): File "D:/pythonProject/user/user.py", line 123, in mssqlCursor.execute("SELECT * FROM users WHERE Id = %S", "test") File "src\pymssql.pyx", line 465, in pymssql.Cursor.executepy..
파이썬 Dictionary 객체를 json.dumps() 사용시 속성 순서 고정하기파이썬에서 key와 value 형태의 자료구조인 Dictionary 객체를 JSON 문자열로 만들시 json.dumps()를 사용하게 됩니다. json 객체 또한 key-value 방식이므로 사실상 동일한 구조라 할 수 있습니다.>>> import json>>> json.dumps({'a': 1, 'b': 2})'{"a": 1, "b": 2}'그런데 이녀석이 어떨때는 지정해준 표현식 그대로 dump 되지만 어떨때는 속성(key)의 정렬 순서가 뒤죽박죽이 됩니다.>>> import json>>> json.dumps({'a': 1, 'b': 2})'{"b": 2, "a": 1}'이는 dict() 함수로 직접 생성후 값을 지정해..
Python
2019. 3. 18. 13:12
[Python] 파이썬 오라클(cxOracle) 사용시 쿼리 결과 Dictionary 로 받기
파이썬(Python) 오라클(cxOracle) 사용시 쿼리 결과 Dictionary로 받기파이썬에서 오라클과 DB 연동을 할 때 사용하는 cxOracle 라이브러리는 SELECT 해오는 쿼리 결과가 기본적으로 tuple 형태입니다.('kim', 27, '서울시 광진구')그러나 이런 형태라면 데이터를 구할 때 index를 가지고 다루어야 하므로 나중에 코드를 보았을 때 알아보기 힘든 형태가 됩니다.name = row[0] #kimage = row[1] #27address = row[2] #서울시 광진구다행히 cxOracle은 cursor의 rowfactory 라는 메서드를 오버라이딩하여 리턴받는 데이터의 형태를 바꿀 수 있습니다.#메서드 정의def makeDictFactory(cursor): co..
Python
2018. 9. 11. 17:05
[Python] 파이썬 TabError: inconsistent use of tabs and spaces in indentation 오류 발생시
파이썬 TabError 발생시만약 파이썬으로 코딩시 다음과 같은 오류를 만났다면 코딩한 소스의 들여쓰기가 잘 되었는지 의심해봐야 합니다.TabError: inconsistent use of tabs and spaces in indentation파이썬은 다른 언어처럼 중괄호 블록을 이용하여 스코프를 표현하지 않습니다. 파이썬은 들여쓰기 단위로 스코프가 결정되는데, 들여쓰기는 띄어쓰기(보통 네개의 띄어쓰기 공백)를 통하여 표현합니다. 같은 공백단위의 들여쓰기는 같은 레벨을 가지게 됩니다.그런데 만약 공백을 통해서 들여쓰기를 하던 도중 탭이 들어갔다면 위와 같은 오류가 발생할 수 있습니다. 들여쓰기시 공백과 탭을 섞어 사용하지는 않았는지 찾아보시기 바랍니다.들여쓰기의 올바른 예def parseSignImgSr..
Python
2018. 9. 11. 13:43
[Python] 리눅스 환경에서 파이썬 postgreSQL 연동시 psycopg2모듈 libpq.so.5 오류나는 경우
Python PostgreSQL 연동시 libpq.so.5: cannot open shared object file: No such file or directory 오류리눅스 환경에서 파이썬으로 PostgreSQL 연동 프로그램을 작성했는데 다음과 같은 오류가 발생하였습니다. 내용을 살펴보니 libpq.so.5 파일을 찾을 수 없다는 내용입니다. .so 파일은 특정 모듈이 동작하기 위해 필요한 공유 라이브러리입니다. 그런데 해당 라이브러리를 찾을 수 없으니 PostgreSQL DB 연동 모듈인 psycopg2가 동작하지 못하는 것입니다.Traceback (most recent call last): File "test.py", line 6, in import psycopg2.extras File..
Python
2018. 9. 10. 13:49
[Python] 쿼리시에 TypeError: 'int' object does not support indexing 오류
쿼리시에 TypeError: 'int' object does not support indexing 오류파이썬으로 DB 연동시에 위와 같은 오류가 발생한다면 쿼리 파라미터를 확인하시기 바랍니다. 커서를 이용하여 쿼리를 실행할 때 파라미터를 다음과 같은 형식으로 사용하셨을겁니다.userId = 15cursor.excute('SELECT * FROM users WHERE id = %s', userId)쿼리 파라미터에는 list 타입을 지정해주어야 하는데 정수형 타입 매개변수를 지정해서 발생한 오류입니다. 따라서 파라미터가 하나인 경우에도 다음과 같이 변경해줍니다.userId = 15cursor.excute('SELECT * FROM users WHERE id = %s', [userId])