본문 바로가기

1.344

Python 존재하지 않을 수도 있는 파일을 삭제하는 가장 파이썬다운 방법, Most pythonic way to delete a file which may not exist 질문 파일 filename이 존재하는 경우에 삭제하고 싶습니다. 이를 어떻게 말해야 할까요? if os.path.exists(filename): os.remove(filename) 더 좋은 방법은 있을까요? 한 줄로 처리할 수 있는 방법은 없을까요? 답변 더 파이썬스러운 방법은 다음과 같습니다: try: os.remove(filename) except OSError: pass 이는 더 많은 줄을 사용하고 매우 못생겨 보이지만, os.path.exists()를 불필요하게 호출하지 않으며 파이썬의 관습을 따릅니다. 이 작업을 수행하는 함수를 작성하는 것도 좋을 수 있습니다: import os, errno def silentremove(filename): try: os.remove(filename) excep.. 2023. 8. 5.
Python SQLAlchemy의 ORDER BY DESCENDING은 어떻게 사용하나요?, SQLAlchemy ORDER BY DESCENDING? 질문 다음과 같은 SQLAlchemy 쿼리에서 ORDER BY descending을 어떻게 사용할 수 있을까요? 이 쿼리는 작동하지만 오름차순으로 반환됩니다: query = (model.Session.query(model.Entry) .join(model.ClassificationItem) .join(model.EnumerationValue) .filter_by(id=c.row.id) .order_by(model.Entry.amount) # This row :) ) 다음을 시도하면: .order_by(desc(model.Entry.amount)) 다음과 같은 오류가 발생합니다: NameError: global name 'desc' is not defined. 답변 그냥 참고로, 이러한 것들을 열 속성으로.. 2023. 8. 5.
Python 파이썬에서 추상 클래스와 인터페이스의 차이, Difference between abstract class and interface in Python 질문 파이썬에서 추상 클래스와 인터페이스의 차이점은 무엇인가요? 답변 가끔 다음과 같은 것을 볼 수 있습니다: class Abstract1: """어떤 설명이 추상 클래스임을 알려주는 것, 종종 제공해야 할 메소드들을 나열합니다.""" def aMethod(self): raise NotImplementedError("이것을 구현해야 합니다") Python은 (그리고 필요하지도 않기 때문에) 형식적인 인터페이스 계약이 없기 때문에, 추상화와 인터페이스 사이의 Java 스타일의 구분은 존재하지 않습니다. 누군가 형식적인 인터페이스를 정의하는 노력을 거치면, 이것은 또한 추상 클래스가 될 것입니다. 유일한 차이점은 docstring에 명시된 의도일 것입니다. 또한, 덕 타이핑이 있는 경우 추상화와 인터페이스 .. 2023. 8. 5.
Python 3.x에서 map()을 사용하여 리스트를 반환하는 방법, Getting a map() to return a list in Python 3.x 질문 나는 목록을 16진수로 매핑한 다음 목록을 다른 곳에서 사용하려고 시도하고 있습니다. Python 2.6에서는 이것이 쉬웠습니다: A: Python 2.6: >>> map(chr, [66, 53, 0, 94]) ['B', '5', '\x00', '^'] 그러나 Python 3.1에서는 위의 코드가 맵 객체를 반환합니다. B: Python 3.1: >>> map(chr, [66, 53, 0, 94]) Python 3.x에서 (위의 A와 같이) 매핑된 목록을 어떻게 가져올 수 있을까요? 또는 이 작업을 수행하는 더 좋은 방법이 있을까요? 초기 목록 개체에는 약 45개의 항목이 있으며 이를 16진수로 변환하고 싶습니다. 답변 이렇게 하세요: list(map(chr,[66,53,0,94])) Python .. 2023. 8. 5.