본문 바로가기

Python/Python FAQ540

Python 파이썬에서 requests를 사용하여 큰 파일을 다운로드하세요., Download large file in python with requests 질문 Requests는 정말 좋은 라이브러리입니다. 저는 이를 사용하여 큰 파일(>1GB)을 다운로드하고 싶습니다. 문제는 전체 파일을 메모리에 유지할 수 없다는 것입니다. 파일을 청크 단위로 읽어야 합니다. 그리고 다음 코드에서 이것이 문제입니다: import requests def DownloadFile(url) local_filename = url.split('/')[-1] r = requests.get(url) f = open(local_filename, 'wb') for chunk in r.iter_content(chunk_size=512 * 1024): if chunk: # 필터링하여 keep-alive 새 청크를 제외합니다. f.write(chunk) f.close() return 어떤 이유.. 2023. 9. 12.
Python 예외가 발생한 예외 설명과 스택 추적을 문자열로 모두 가져오기, Get exception description and stack trace which caused an exception, all as a string 질문 어떻게 잡힌 Exception (그 설명과 스택 추적)을 외부에서 사용하기 위해 str으로 변환할 수 있을까요? try: method_that_can_raise_an_exception(params) except Exception as e: print(complete_exception_description(e)) 답변 다음은 traceback 모듈을 참조하세요. 특히 format_exc() 함수입니다. 여기. import traceback try: raise ValueError except ValueError: tb = traceback.format_exc() else: tb = "에러 없음" finally: print tb 2023. 9. 12.
Python 파이썬에서 C/C++ 호출하기? [닫힘], Calling C/C++ from Python? [closed] 질문 파이썬 바인딩을 C 또는 C++ 라이브러리에 가장 빠르게 구축하는 방법은 무엇인가요? (이것이 중요한 사항이라면, 저는 Windows를 사용하고 있습니다.) 답변 ctypes 모듈은 표준 라이브러리의 일부이므로 swig보다 안정적이고 널리 사용할 수 있습니다. swig은 항상 문제를 일으키는 경향이 있었습니다. ctypes를 사용하면 python에 대한 컴파일 타임 종속성을 충족해야하며, 바인딩은 컴파일된 python뿐만 아니라 ctypes를 가진 모든 python에서 작동합니다. 간단한 C++ 예제 클래스를 foo.cpp라는 파일에서 작업하려는 경우를 가정해보겠습니다. #include class Foo{ public: void bar(){ std::cout 2023. 9. 12.
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.