import base64
with open("django.svg", "rb") as f:
encoded_string = base64.b64encode(f.read())
with 문을 통해서 svg 파일을 읽어서 base64로 인코딩한 예제입니다.
아래와 같이 해서 image태그에서 바로 불러올수 있도록 text 파일에 담아둘 수 있습니다.
import base64
with open("django.svg", "rb") as f: # r: 읽기 모드, b: binary file
encoded_string = base64.b64encode(f.read())
with open("result.txt", "w") as y: # w: str 쓰기 모드
y.write('data:image/svg+xml;base64,')
with open("result.txt", "ab") as x: # a: file이 있는경우 이어서 쓰기 모드, b: binary file
x.write(encoded_string)
위의 예제코드를 통해 result.txt에 생긴 text는 아래와 같습니다.
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2NCIgaGVpZ2h0PSI2NCIgb3ZlcmZsb3c9InZpc2libGUiIGZpbGw9IiMwOTJlMjAiPjxwYXRoIGQ9Ik0yNy43MjQgMEgzOC4ydjQ4LjQ0Yy01LjM2OCAxLjAyLTkuMyAxLjQyNy0xMy42IDEuNDI3LTEyLjc3NiAwLTE5LjQzNS01Ljc3Ni0xOS40MzUtMTYuODUzIDAtMTAuNjcgNy4wNjgtMTcuNiAxOC4wMDgtMTcuNiAxLjcgMCAzIC4xMzUgNC41NTMuNTQzem0wIDI0LjM4M2MtMS4yMjMtLjQwNy0yLjI0Mi0uNTQzLTMuNTMzLS41NDMtNS4zIDAtOC4zNiAzLjI2Mi04LjM2IDguOTcgMCA1LjU3MyAyLjkyMiA4LjYzIDguMyA4LjYzIDEuMTU1IDAgMi4xMDYtLjA2OCAzLjYtLjI3em0yNy4xMTMtOC4yMjN2MjQuMjZjMCA4LjM2LS42MTIgMTIuMzY4LTIuNDQ2IDE1LjgzMy0xLjcgMy4zMy0zLjk0MiA1LjQzNi04LjU2MiA3Ljc0N2wtOS43MTgtNC42MmM0LjYyLTIuMTc0IDYuODYzLTQuMDc2IDguMy03IDEuNDk1LTMgMS45Ny02LjQ1NiAxLjk3LTE1LjU2VjE2LjE2ek00NC4zNzIuMDU2aDEwLjQ2NXYxMC43MzdINDQuMzcyeiIvPjwvc3ZnPg==
각종 svg 파일은 아래 사이트에서 얻어올 수 있습니다.
'Python' 카테고리의 다른 글
python file, directory 경로 / file , directory 여부 확인 (0) | 2022.12.15 |
---|---|
list index: list에서 특정 값의 순서 찾기 (0) | 2022.12.14 |
python: __name__ / if __name__ == '__main__': (0) | 2022.12.05 |
isinstance() (0) | 2022.12.01 |
assert (0) | 2022.12.01 |