-
UnicodeEncodeError: 'ascii' codec can't encode characters개발Tip 2022. 3. 6. 00:41728x90
기존 yaml 파일의 코드를 수정하기 위해 write를 시도해봤더니 아래와 같은 에러가 나왔다:
File "/data/airflow/../delete_serviceKey_dag.py", line 45, in get_client_names outfile.write('\\n\\n\\n'.join(new_clients)) UnicodeEncodeError: 'ascii' codec can't encode characters in position 449-453: ordinal not in range(128)
=>file을 열고 작성할 때 open과 write 둘다 encoding이 필요하다
with open('/data/airflow/G2-CONF/clients.yml', encoding="utf-8") as f: content = f.read() serviceKeys = [x for x in content.split("\\n\\n")] # delete serviceKey new_clients = [x for x in serviceKeys if serviceKey not in x] with open('/data/airflow/G2-CONF/new_clients.yml', 'w', encoding="utf-8") as outfile: outfile.write('\\n\\n\\n'.join(new_clients))
- 이상 오늘의 삽질일기 끝!
여기저기 삽질도 해보고
날려도 먹으면서
배우는 게
결국 남는거다
- Z.Sabziller
'개발Tip' 카테고리의 다른 글
파일 싱크 자동화를 위한 incrontab 스크립트 개발(feat. git->s3) (0) 2022.12.26 S3/Athena DB명 하이픈 포함 시 이스케이프 문자 처리 (0) 2022.09.16 [Linux] 리눅스 zip 압축 명령어 (0) 2022.02.03 Memory 메모리 체크 Linux 명령어(Feat. RAM, GPU) (0) 2021.10.22 CLI 파라미터 변수 Shell Script 쉘 스크립트에 전달하기 (0) 2021.06.06