문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자.
* a.py에 있는 변수 aa 를 b.txt 파일을 읽어서 aa 변수를 처리 하는방법 === 변수처리 안되는 예제 === 1. a.py <source lang=python> aa = "This" with open("b.txt", "r") as f: content = f.read() print(content) </source> 2. b.txt <source lang=python> {aa} is a.py </source> * 실행 결과 <source lang=python> {aa} is a.py </source> → 문자열 그대로 출력될 뿐 aa가 치환되지 않습니다. ---- === 변수처리 방법=== * 치환하려면 .format() 또는 f-string 사용 필요 === 방법 1: str.format() 사용 === <source lang=python> aa = "This" with open("b.txt", "r") as f: content = f.read() print(content.format(aa=aa)) </source> → 결과: This is a.py === 방법 2: f-string처럼 사용하고 싶다면 eval(f"") (주의 요망) === <source lang=python> aa = "This" with open("b.txt", "r") as f: template = f.read() print(eval(f"f'{template}'")) # 보안상 외부 입력일 경우 비추 </source> === 요약 정리 === {| class="wikitable" |- ! 방법 !! 변수 적용됨? !! 설명 |- | <code>f.read()</code>만 사용 || X || 문자열 그대로 읽음 |- | <code>.format()</code> 사용 || O || 안전하고 권장 |- | <code>eval(f"f''")</code> || O || f-string처럼 사용 가능하나 보안 주의 |} ---- === jinja2 템플릿 방식 === <source lang=python> from jinja2 import Template # 변수들 context = { "name": "Bob", "age": 25, "place": "PythonLand" } # 템플릿 읽기 with open("template.txt", "r") as f: template_str = f.read() # Jinja2 템플릿으로 처리 template = Template(template_str) result = template.render(context) print(result) </source> [[category:python]] [[category:python jinja2]] [[category:python 변수]]
문서 저장 미리 보기 차이 보기 취소