본문 바로가기

파이썬

(62)
[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, '..
[python] 소수점 반올림, 올림, 내림하는 코드 반올림 >>> num = 1.234512345 >>> >>> round(num, 3) # 반올림해서 3번째 자리수까지 나타냄 1.235 >>> round(num, 4) # 반올림해서 4번째 자리수까지 나타냄 1.2345 python에서 반올림 하는 방법은 round 함수를 이용하는 것이다. round 함수에 첫번째 인자로는 소수값을 주고, 2번째 값은 나타낼 자리수를 준다. 만약 round(1.2345, 3)을 하면 소수점 4번째에서 반올림을 하고 소수점 3번째 까지의 값으로 만들어준다. num = 1.234 >>> round(num) 1 만약 따로 인자를 주지 않으면 소수 첫째 자리에서 반올림한다. >>> round(123.456, -1) 120.0 >>> round(125.556, -2) 100.0 ..
[python] 여러개의 공백 하나로 만드는 코드 만약 문자열이 아래와 같다고 가정해보자. str = "a b c d e f" 만약 위 문자열의 공백(Space)를 하나로 만들어서 아래와 같은 문자열로 만들고 싶다면 어떻게 해야할까? a b c d e f 변환방법 str = "a b c d e f" new_str = ' '.join(str.split()) print(new_str) # 출력 a b c d e f 코드를 소개하면 위와 같다. ' '.join(str.split()) 부분은 str 변수를 split함수를 통해서 공백단위로 쪼개고 리스트로 만든후 join 함수를 통해서 ' '(공백) 한개로 합치는 명령이다. 참고 : join과 split에 대한 소개글 (https://devpouch.tistory.com/77)
[python] datetime 날짜와 시간 차이 구하기 파이썬으로 두 날짜 간의 차이를 알고 싶다면 어떻게 해야할까? 또는 시간 차이를 알려면? 시간 차이 구하는 법 from datetime import datetime # 현재 시간을 가져온다. now = datetime.now() print(now) # 비교할 과거 시점에 대한 정보 past = datetime.strptime("20210305", "%Y%m%d") print(past) # 단순히 빼주기만 하면 두 시간의 차이를 구할 수 있다. diff = now - past print(diff) 출력 2021-06-26 20:48:48.724421 2021-03-05 00:00:00 113 days, 20:48:48.724421 단순히 datetime 형식의 두 날짜를 - 해주면 된다. 여기서 일수 차이..