Python은 여러 프로세스를 사용하여 파일을 작성할 때 인코딩 문제가 발생하지만 여러 스레드를 사용할 때는 그렇지 않습니다.
我想大声告诉你
我想大声告诉你 2017-06-15 09:21:36
0
3
1100

여러 프로세스를 사용하여 데이터를 크롤링하고 파일에 기록하면 실행 시 오류가 보고되지 않지만 파일을 열면 왜곡됩니다.

멀티스레딩으로 다시 작성할 때는 그런 문제가 없으며 모든 것이 정상입니다.
다음은 파일에 데이터를 쓰는 코드입니다.

으아악

여러 프로세스를 위한 프로세스 풀

으아악
我想大声告诉你
我想大声告诉你

모든 응답(3)
巴扎黑

사진에서 언급한 것처럼 파일이 잘못된 인코딩으로 로드되는데, 이는 여러 프로세스에서 작성할 때 인코딩이 utf-8이 아니라는 의미입니다

世界只因有你

파일의 첫 번째 줄을 추가하세요:

으아악
我想大声告诉你

동일한 파일을 여는 것은 매우 위험하며, 멀티스레딩에서 오류가 발생하지 않으면 GIL일 가능성이 가장 높으며, 여러 프로세스에는 잠금이 없으므로 오류가 발생하기 쉽습니다. 실수를 하다.
으아악
생산자-소비자 모델로 변경을 권장합니다!

이렇게

으아악

결과

foo /4/wssd_content.jsp?bookid

foo /5/wssd_content.jsp?bookid

foo /6/wssd_content.jsp?bookid
foo /1/wssd_content.jsp?bookid
foo /2/wssd_content.jsp?bookid
foo /3/wssd_content.jsp?bookid
foo /7/wssd_content.jsp?bookid
foo /8/wssd_content.jsp?bookid
foo /9/wssd_content.jsp?bookid

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!