"스레딩"모듈을 사용하는 Python 프로그램이 있습니다. 매초마다 내 프로그램은 웹에서 일부 데이터를 가져 와서이 데이터를 내 하드 드라이브에 저장하는 새 스레드를 시작합니다. 이 결과를 저장하기 위해 sqlite3를 사용하고 싶지만 작동 할 수 없습니다. 문제는 다음 줄에 관한 것 같습니다.
conn = sqlite3.connect("mydatabase.db")
- 이 코드 줄을 각 스레드에 넣으면 데이터베이스 파일이 잠겨 있음을 알려주는 OperationalError가 발생합니다. 이것은 다른 스레드가 sqlite3 연결을 통해 mydatabase.db를 열고 잠겨 있음을 의미합니다.
- 이 코드 줄을 주 프로그램에 넣고 연결 개체 (conn)를 각 스레드에 전달하면 스레드에서 생성 된 SQLite 개체는 동일한 스레드에서만 사용할 수 있다는 ProgrammingError가 발생합니다.
이전에는 모든 결과를 CSV 파일에 저장했지만 이러한 파일 잠금 문제가 없었습니다. 바라건대 이것은 sqlite로 가능할 것입니다. 어떤 아이디어?