728x90

python 12

[Python]numpy-1.14.2/setup.py:369 Cython

/tmp/easy_install-ffy1ao7u/numpy-1.14.2/setup.py:369: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates 패키지 설치를 할때 위와 같은 오류가 뜰때가 있다. ubuntu 경우에는 아래 명령어를 사용해서 업데이틀 해주면 된다고 한다. apt-get -yqqf install python-setuptools && easy_install pip && pip install --upgrade pip setuptools cent-os 경우(본인)은 아래만 업데이트 해주니 해결되었다. easy_install pip && pip i..

Flask 환경설정

1. flask는 가상환경을 설정해서 설치해 주는 것이 좋은데 그래서 선택한 것은 anaconda 이다.예전에 Tensorflow 가상환경을 만들때 사용했던 것인데 설치되어 있어서 사용해 보았다 .anaconda가 설치되어 있다면 위의 명령어로 새로운 환경을 만들 수 있다. conda create -n yourenvname python=x.x anaconda이번엔 파이썬 2.7버전으로 가상환경을 만들어 보았다. 그리고 생성한 해당 환경을 활성화 시키면 된다. source activate yourenvname pip install Flask로 flask 설치 후 필요한 Jinja2와 Werkzeugr가 같이 설치 된다. 그리고 기본적으로 flask 환경을 virtualenv로 설정하는 방법을 보고 싶으면 ..

[Python]Window에서 파이썬 2.7과 3.6 같이 사용하기

윈도우에서 파이썬 2.7을깔고 3.6을 설치하면 기본적으로 command창에서 python 을 실행해 보면 2.7이 기본으로 RSTL이 실행된다. 맥에서는 python 과 python3으로 구분해서 사용하는데 윈도우에서는 그방법을 몰라서 찾아보니 우선 Python3.* 설치 경로(C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\)를 환경변수 Path에 추가해주고 추가로 Scripts폴더까지 추가로 설정해 줘야 한다.(C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Scripts\) 그리고 윈도우 커맨드창(cmd)에서 py -3(중간에 한칸을 띄어줘야 한다. )을 입력해 ..

[Python]datetime

python에는 datetime이라는 클래스가 있는데 import datetime 으로 불러와서 현재 시간이나 시간에 대한 것들을 표현할 수 있다. import datetime now = datetime.datetime.now()print(now) #현재 시간 출력 그리고 문자열로 현재의 날짜를 출력하려면date = now.strftime(%Y-%m-%d)print(date) #2017-10-25 문자를 datetime객체로 변환 하려면datetime.datetime.strptime()함수를 이용해서 변경할 수 있다. 그리고 날짜를 변경할때는 ndate = date.replace(day=26)위와같이 replace로 변경할 수 있고 d = datetime.date(2017, 10, 25)t = datet..

[Python]Slice 사용법

파이썬에서 list와 문자열은 비슷한 특징을 갖는데 그중에서 많이쓰는 기능은 slice를 통해서 값을 자르거나 변경하거나 추가하는 것인데 간단하게 그 방법을 정리해 보려고한다. >>> list(range(10)) #으로 실행하면 [0,1,2,3,4,5,6,7,8,9]의 리스트가 만들어 진다. >>> list[1:4] #[1,2,3]을 반환한다. 첫번째 index포함 두번째 index전까지의 값을 가져온다. >>> list[0:len(list)] #이렇게도 전체 리스트를 반환받을 수 있지만>>> list[:] #중간에 [:]콜론을 사용해도 전체 리스트를 받을 수 있다.>>> list[:4] #이렇게 사용하면 0~3번째 인덱스 값을 반환하고>>> list[3:] #이렇게 사용하면 3~끝 인덱스까지의 값을 반..

[Python]Dictionary 사용

Dictionary 선언dic = { 'first':'one','second':'two','third':'three'}기본적으로 {}로를 이용해서 선언하고 key 와 value로 이루어진 한쌍의 값으로 선언한다. 리스트에서는 value만 세팅하면 그에 맞는 인덱스가 자동으로 생성되서 부여되므로 순서를 맞출때 편한 점이 있지만key를 가지고 요소를 찾을때는 dictionary가 이용하기 편하다고 할 수 있겠다. 보통 for문에서 dictionary 사용 방법은 두가지가 있겠는데for key in dic.keys() : #keys()는 생략가능하다.print(key) 이렇게 사용하면 key 즉 'first', 'second','third'가 출력되고 for value in dic.values():print(..

[Python] range, enumerate

Python 반복문 for를 사용할때 많이 사용하는 용어는 range와 enumerate이다. 일반적인 for 문은 list = [0, 1, 2, 3, 4, 5]for i in list:print(i) 이런 모양을 사용한다. 하지만 저렇게 0-5처럼 순차증가하는 리스트는 작성하는 것은 작은수 일때는 별일 아닐수 있지만100단위가 넘어가는 숫자에는 굉장히 노가다라고 할 수 있다. 그런 불편함을 해결하기 위해서 나온 함수가 range이다. range는 범위라는 뜻처럼 사용할 수 있다. for i in range(6):print(i) 이렇게 만들어서 실행하면 위와 똑같은 값이 출력될 것이다. range의 사용법은 아래와 같고 물론 끝의 값 제외되는 (다른 프로그램에서 for(var i=0;i

[Python] SyntaxError: Non-ASCII character '\xeb' in file test.py on line 5, but no encoding declared;

Python 에러 SyntaxError: Non-ASCII character '\xeb' in file test.py on line 5, but no encoding declared; # -*- coding: cp949 -*-from bs4 import BeautifulSoup # -*- coding: utf-8 -*-from bs4 import BeautifulSoup 한글은 코딩할때 unicode로 저장하는게 좋고 hi = u'안녕하세요'type 함수를 통해 현재 내가 변수에 저장한 문자열이 str(아스키코드)인지 unicode인지 확인이 가능하다. unicode로 넘어온 데이터를 변수에서 한글깨짐때문에 cp949나 utf-8로 인코딩해서 변수에 넣어 줬다면엑셀에 한글 데이터를 집어넣을려면 unico..

[Python]Excel로 데이터 내보내기

오라클에서 데이터를 읽어와서 글자수를 센 후 그 단어 수를 세팅해서 엑셀로 내보내려고 xlsxwriter 를 사용해서 엑셀 내보내기를 했다. 시키는대로 했지만 오류가 뙇..!!!!!!!! UnicodeDecodeError: 'utf8' codec can't decode byte 0xa1 in position 52: invalid start byte라는 에러가 나왔다.... 검색을 해보니 ascii코드관련 에러인데 이것과 관련된 것같다. 그래서 우선 엑셀을 쓰기위해서 import sysreload(sys) sys.setdefaultencoding('Cp1252')위와같은세팅을 해줬더니 파일은 써졌는데...Representative’ ->Representative¡¯ 이렇게 깨져서 나왔다. 우선 오늘은 엑셀..

[Python]tuple 값변경

oracle에서 데이터를 읽어오는데 성공해서 값을 가져오고 해당 값을 핸들링하려고 하니 tuple이라서 값 변경이 되지 않았다. tuple이 원래 변경이 안되는 것이다. (수정, 삭제, pop(), del 등...)그래서 알아보니 list로 형변환을 해서 해당 인덱스에 접근하면 값변경이 가능했다.물론 tuple ->list ->setValue ->tuple 이라는 형변환 과정이 필요하지만 그렇게 되있으니 어쩔... ㅋㅋㅋㅋㅋ tp = ('111', '2222', '3333', '4444', '5555')lst = list(t)lst[0] = '1111'tp = tuple(lst) 위와같이 생성된 tuple을 리스트로 변환 후 값을 set 해주고 다시 tuple로 형변환 해주면 되시겠다. 아 형변환도 심플..

728x90