pickle 모듈
·
[Language] - Python
개요직장에서 PyQt 작업하는 도중 QTableWidget에 들어있는 데이터를 복사해야 하는 경우가 생겼다. 필자는 데이터를 일일이 파싱하여 붙여넣는 과정이 매우 번거롭다고 생각했다. 그래서 QTableWidget 객체 자체를 복사하면 어떨까? 라는 의문을 가졌다. 그리고 처음으로 시도한 것은 copy 모듈을 사용하여 객체를 깊은 복사(deep copy)를 시도했다. 그러나, "Can't Pickle" 이라는 문구와 함께 복사가 되지 않았다. 복사가 되지 않는 이유를 찾아보니, PyQT의 클래스는 기본적으로 Qt(C++ 베이스)를 기반으로 하고 있고, model-view 패턴으로 이루어져 있기 때문에 pickle로는 메모리 상태만 복원이 가능할 뿐, 복사가 불가능하다는 글을 읽었다. 본론으로 돌아와 계속..