문제가 생기는 부분만인데효
Systeminfo 클래스를 instantiate한 다음
getMemSizeTotal 을 호출해서 메모리 전체 사이즈를 찍으려고하는
아주아주 간단한 코드인데
bytenum < factor
이 부분이 '오브젝트랑 int를 비교할 수 없다'고 오류가 나고 있거든효
근데 아무리 봐도 잘 이해가 안되는데
이게 왜 이러는 건가효? 버그 아닌가효?
import psutil
class Systeminfo():
def __init__ (self): pass
def getSize(bytenum, suffix="B"):
factor = 1024
for unit in ["", "K", "M", "G", "T", "P"]:
if bytenum < factor: ################## 문제의 부분
return f"{bytenum:.2f}{unit}{suffix}"
bytenum /= factor
def getMemSizeTotal(self):
mem = psutil.virtual_memory()
print(type(mem.total)) # <class 'int'> 라고 출력됨
print(self.getSize(mem.total)) ####### 다음 오류 발생;;;
# 왜 갑자기 int, int 비교가 아니라 객체, int 비교라고 해석되는 것???
# TypeError: '<' not supported between instances of 'Systeminfo' and 'int'
if __name__ == "__main__":
thisSystem = Systeminfo()
print(thisSystem.getMemSizeTotal())
질문 | 4909명이 읽었어요. 18.97.9.174
