본문 바로가기

python

(58)
[python] 파이썬 버전 확인하기 파이썬 버전을 알아보는 방법은 다음과 같다. CLI를 통해서 버전 확인하기 $ python --version Python 2.7.17 $ python -V Python 2.7.17 --version 그리고 -V 두개 옵션으로 파이썬 옵션을 확인할 수 있다. 현재 2.7.17인 것을 알 수 있다. 참고로 버전은 각각의 자리에 따른 의미가 있다. 앞에서 순서대로 * Major 버전 * Minor 버전 * Micro 버전 을 뜻한다. 코드를 통해서 버전 확인하기 >>> import sys >>> print(sys.version) 2.7.17 (default, Feb 27 2021, 15:10:58) sys 모듈의 version을 확인하면 파이썬 버전을 코드로 확인할 수 있다. 또 다른 방법으로는 sys.ver..
[python] 파이썬에서 전역 변수 사용하기 - global 파이썬에서 전역변수를 사용하다가 예상대로 코드가 실행되지 않는다는 것을 발견했다. 전역변수 사용의 잘못된 코드 # 전역 변수 val = False def change_val(): # 아래 val은 함수내의 '지역변수'다. val = True change_val() print(val) >> False val이라는 전역 변수를 change_val 이라는 함수내에서 변경하려고 했으나 변경되지 않고 False 값이 그대로 출력되었다. 이는 C언어의 문법을 기반으로 생각했기 때문에 함수 내에서 변수값이 변경될거라 생각했다. 하지만 파이썬 함수 내에서 전역 변수를 수정하려면 global 키워드를 통해서 전역변수임을 명시해주어야 한다. 그렇지 않으면 그저 함수내에 지역 변수로 인식될 것이다. 전역변수를 사용할래요 -..
[python] pip와 python 버전이 다를때 pip 설치하기 파이썬에서 pip 를 이용해 requests 모듈을 설치했는데, 정작 파이썬 스크립트를 돌리니 requests 모듈을 찾을 수 없다. $ pip install requests Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (2.26.0) Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.7/dist-packages (from requests) (2.0.9) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-pac..
[python] 파이썬 스크립트 백그라운드 수행 (linux) 파이썬 프로그램을 백그라운드로 지속적으로 수행해야 하는 경우가 있습니다. 이번 포스트에서 파이썬을 백그라운드로 돌리는 여러가지 방법에 대해 알아봅시다. 단순히 마지막에 &을 붙히는 방법 보통 리눅스에서는 맨 마지막에 &을 붙힘으로써 백그라운드 수행을 할 수 있습니다. # python test.py & [1] 7115 # jobs [1]+ Running python test.py & 하지만 위 방법의 단점은 해당 쉘 또는 터미널이 끊기게 되면 파이썬 job도 사라지게 됩니다. 이렇게 되면 터미널을 통해 명령어를 수행하다가 time out이 걸리게 되면 python job도 사라지게 됩니다. 이를 위해 리눅스에서는 nohup 이라는 명령어를 제공합니다. nohup을 통해 데몬 형태로 실행하기 nohup은 n..
[python] byte 단위 변환 코드(byte ->kb, mb, gb, tb, pd, eb) byte를 입력으로 주면 킬로바이트(kilobyte), 메가바이트(megabyte), 기가바이트(giga byte) 단위 등으로 변환하는 코드는 아래와 같다. def byte_transform(bytes, to, bsize=1024): ... a = {'k' : 1, 'm': 2, 'g' : 3, 't' : 4, 'p' : 5, 'e' : 6 } ... r = float(bytes) ... for i in range(a[to]): ... r = r / bsize ... return round(r,2) >>> byte_transform(1073741824, 'g') 1.0 >>> byte_transform(1073741824, 'm') 1024.0 >>> byte_transform(1073741824, '..