본문 바로가기

Python2.37

Python 파이썬 객체를 올바르게 정리하는 방법은 무엇인가요?, How do I correctly clean up a Python object? 질문 클래스 Package: def __init__(self): self.files = [] # ... def __del__(self): for file in self.files: os.unlink(file) __del__(self)는 위에서 AttributeError 예외가 발생합니다. 나는 Python은 "전역 변수" (이 맥락에서는 멤버 데이터?)의 존재를 보장하지 않는다는 것을 이해합니다. __del__()가 호출될 때 예외의 원인이 이것이라면, 객체가 올바르게 해체되도록 어떻게 해야 할까요? 답변 파이썬의 with 문을 사용하여 정리해야 할 리소스를 관리하는 것을 추천합니다. 명시적인 close() 문을 사용하는 것의 문제는 호출을 완전히 잊거나 예외가 발생할 때 리소스 누출을 방지하기 위해 f.. 2023. 9. 13.
Python 파이썬에서 디렉토리 트리 목록, Directory-tree listing in Python 질문 Python에서 주어진 디렉토리의 모든 파일(및 디렉토리) 목록을 어떻게 가져올 수 있나요? 답변 이것은 디렉토리 트리에서 모든 파일과 디렉토리를 탐색하는 방법입니다: import os for dirname, dirnames, filenames in os.walk('.'): # 모든 하위 디렉토리에 대한 경로를 출력합니다. for subdirname in dirnames: print(os.path.join(dirname, subdirname)) # 모든 파일 이름에 대한 경로를 출력합니다. for filename in filenames: print(os.path.join(dirname, filename)) # 고급 사용법: # 'dirnames' 목록을 편집하면 os.walk()이 해당 디렉토리로 .. 2023. 9. 12.
Python 딕셔너리에서 값 목록을 어떻게 얻을 수 있을까요?, How can I get list of values from dict? 질문 파이썬에서 딕셔너리의 값 목록을 어떻게 얻을 수 있을까요? 자바에서는 Map의 값들을 List로 가져오는 것이 list = map.values();와 같이 간단합니다. 파이썬에서도 딕셔너리의 값 목록을 얻는 것이 비슷하게 간단한 방법이 있는지 궁금합니다. 답변 dict.values는 사전의 값들의 뷰(view)를 반환하므로, list로 감싸야 합니다: list(d.values()) 2023. 9. 11.
Python 파이썬에서 어떻게 배열을 선언하나요?, How do I declare an array in Python? 질문 어떻게 Python에서 배열을 선언하나요? 답변 variable = [] 지금 variable은 빈 리스트를 참조합니다*. 물론 이것은 할당이며, 선언이 아닙니다. Python은 동적으로 타입이 지정되기 때문에 "이 변수는 리스트 이외의 다른 것을 참조하지 않아야 한다"는 방법이 없습니다. *기본 내장 Python 타입은 리스트라고 불리며, 배열이 아닙니다. 이는 임의의 길이로 정렬된 컨테이너로, 서로 다른 유형의 객체들을 포함할 수 있습니다 (유형은 중요하지 않으며 자유롭게 혼합될 수 있음). 이는 C의 array 타입과 더 가까운 유형을 제공하는 array 모듈과 혼동해서는 안 됩니다; 여기서는 내용물이 동일한 유형으로 구성되어야 하지만 길이는 여전히 동적입니다. 2023. 9. 11.