본문 바로가기

전체 글

(12)
파이썬 버전을 지정하여 pip 실행하기 파이썬에서 패키지를 설치하기 위해서는 pip(pakage installer for python)라는 파이썬 패키지 관리자를 대부분 사용한다. 하지만 꼭 pip를 사용해야지만 라이브러리나 패키지를 설치할 수 있는 것은 아니란 걸 참고로 알아두면 좋겠다. 다른 방법은 직접 찾아보길... 여러 버전의 파이썬 설치되어 있는데 어떤 특정 버전에서 패키지를 설치하고 싶다면 다음과 같이 실행해주면 된다. py -3.10 -m pip install pandas 파이썬 3.10 버전에서 판다스를 설치하는 예를 들었다. 참고로 python3.10으로 입력하면 에러가 난다. 해당 버전에서 어떤 패키지가 설치되어 있는지 확인하는 list 등의 다른 옵션들도 이렇게 사용하면 된다. py -3.10 -m pip list 가상환경..
파이썬에서 메모장으로 텍스트 파일 열기(윈도우 기준) 파이썬 콘솔에서 텍스트 파일을 열어서 읽는 일반적인 방법은 다음과 같다. # 파일을 읽기 모드로 열기 file = open('파일경로/파일이름.txt', 'r') # 파일 내용 읽기 content = file.read() # 파일 닫기 file.close() # 읽은 내용 출력 print(content) 그런데 이렇게 출력된 내용들은 개행문자 등이 포함되어 있어 읽기 불편하다. 메모장이나 워드패드 등으로 보면 더 좋지 않을까? 물론 파일을 더블클릭해서 실행하는 게 당연하고 더 편한 사람들도 있을 것이다. 하지만 개인적으로는 지금부터 말하는 방법이 덜 번거롭다고 느낀다. 방법은 아래와 같다. # 첫번째 방법 import subprocess file_path = '파일경로/파일이름.txt' subproces..
데이터의 표현에서 0x00의 형식이 자주 등장하는 이유는? 코딩을 하다보면 데이터의 표현이 0x00, 0xff 등의 16진수로 표현되는 경우를 자주 볼 수 있다. 참고로 0x는 뒤에 따라오는 숫자가 16진수라는 걸 알려주는 접두어다. 예를 들어 0x10 에서 10은 16진수이고, 10진수로 바꾸면 16이다. 파이썬 콘솔에서 이러한 16진수 표현법을 입력하면 10진수로 리턴해준다. >>> 0x10 16 >>> 0x0a 10 >>> 0x0f 15 그럼 접두어 0x 뒤에 두자리 수가 주로 오는 이유는 무엇일까? 1바이트(8비트)로 표현할 수 있는 가장 큰 이진수는 1111 1111 이다. 이를 십진수로 바꿔보자 >>> 0b11111111 255 255가 나온다. 그리고 이걸 다시 16진수로 바꾸면, >>> hex(255) '0xff' 0xff 로 나타난다. 즉 이진수..
lambda 함수에서 여러개의 결과(값)을 반환하고자 한다면? 파이썬 일반 함수에서는 다음과 같이 복수의 값을 리턴할 수 있다. def func(x): return x + 1, x + 2 func(1) # 결과 (3, 4) 인수를 함께 호출해보면 튜플로 결과값을 반환한다. 그렇다면 람다 함수의 경우에는 어떻게 표현해야 할까? 단순히 위 함수처럼 나열하면 되지 않을까? (lambda x: x + 1, x + 2)(1) 그래서 위와 같이 입력해보면 다음의 오류가 난다. Traceback (most recent call last): File "", line 1, in (lambda x: x + 1, x + 2)(1) NameError: name 'x' is not defined 이렇게 되는 이유를 추측해보면 람다 표현식 안에서는 괄호를 해주지 않으면 튜플로 인식하지 못하..
request.META의 HTTP_REFERER 사용해 보기 뷰 함수(FBV) 내에서 request.META는 http 프로토콜의 헤더 정보를 담고 있는 딕셔너리(dictionary)이다. 이 딕셔너리의 키(key) 중에서 HTTP_REFERER는 이전 페이지의 주소를 값(value)으로 가지는 키(key)인데, 뷰 함수에서 def example(request): # ... print(request.META['HTTP_REFERER']) # 이전 페이지 주소(url) 리턴 # ... 위와 같이 print() 해보면 콘솔에서 이전 페이지의 url을 확인할 수 것이다. 아주 간단한 예시로서, 다음과 같은 뷰함수 및 템플릿으로 # views.py def next_page(request): return render(request, 'codinghabit_blog/next..
언더바 '_' 로 반환값 가져오기 파이썬 IDLE shell이나 콘솔에서 코딩을 할 때, 반환값을 받을 변수를 지정하는 걸 깜빡할 때가 있다. 물론 방향키 '↑' 를 눌러 코드를 다시 살려내서 변수에 할당하면 되지만 언더바(underbar)를 이용하는 방법도 있다. 언더바(underbar)는 언더스코어(underscore)라고도 한다. >>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a = _ # 앞의 반환값 '[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]' 이 a에 할당됨 >>> print(a) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
템플릿 안에 다른 템플릿을 가져오는 내장 템플릿 태그 include 공통적으로 자주 사용되는 다음과 같은 템플릿(part.html)이 있다고 하자. pass_value 라는 변수는 지정되지 않으면 기본값인 'This is part.html' 로 나타나도록 하였다. {{ pass_value|default:"This is part.html" }} 이 템플릿을 다른 템플릿(with_var.html) 안에 내장 템플릿 태그(built-in template tag) include를 사용하여 다음과 같이 삽입할 수 있다. {% extends 'base.html' %} {% block content %} This is with_var.html {% include 'part.html' %} {% endblock %} 이를 렌더링 해보면, 삽입한 'part.html' 의 내용이 포함되게..
파이썬 버전 지정하여 콘솔 실행하기 ※ 윈도우 기준 여러 버전의 파이썬이 설치되어 있다면 다음과 같이 명령 프롬프트에서 확인할 수 있다. C:\>where python # 결과 C:\...\AppData\Local\Programs\Python\Python38\python.exe C:\...\AppData\Local\Programs\Python\Python310\python.exe C:\...\AppData\Local\Microsoft\WindowsApps\python.exe 위에서 python.exe 가 속한 폴더명 Python38 은 버전 3.8을, Python310 은 3.10을 의미한다. 3이 Major 버전 넘버인데, 여기 바로뒤에 점을 찍어서 버전을 보면 된다. Major 와 Minor 버전 넘버까지만 나타나있고 Patch는 생략..