OSError: [Errno 22] Invalid argument: '__________'
코드 상에서 어떠한 파일을 저장하려고 할 때 가끔 이러한 에러 발생할 수 있습니다.
이 에러는 파일을 저장할 때 설정해주는 경로 혹은 파일의 이름에 들어가서는 안되는 문자가 들어갔을 때 발생하는 에러입니다.
파일의 이름에는 \, /, :, *, ?, ", <, >, | 등의 문자들은 사용할 수 없습니다.
만약 파일의 이름에 이러한 문자가 들어가 있다면 해당 문자를 지워주어야 합니다.
해당 문자는 직접 수정해주어도 되지만 re 라이브러리의 sub() 함수를 사용해주면 쉽게 수정이 가능합니다.
filename = re.sub("[\/:*?\"<>|]", "", filename) 를 넣어주면 입력된 filename 안에 있는 특수한 문자들이 모두 지워지게 됩니다.
위의 함수를 실행하여 파일 이름에 특수 문자를 지워주면 해당 에러는 발생하지 않을것입니다.
python version: 3.7.13
반응형