해결된 질문
작성
·
328
답변 2
1
답변 감사합니다 ~! 제가 위에 코드를 똑같이 따라서 해봤는데요.
pic_path = "C:\Users\computer\Desktop\사진\" 에서
unterminated string literal(detected at line 9) 경고창이 뜹니다.
안되길래 역슬래시 2번 쓰면 사진이 전혀 들어가지 않습니다.ㄷ
역슬래시(\) 말고 슬래시(/)로 바꿔서 해보시면 될 거예요. -> "c:/Users/computer/Desktop/사진/"
말씀하신 오류메시지는, 마지막 \과 " 두 글자가 하나로 합쳐져버려서 그렇거든요?
역슬래시로 처리하시려면
① 시작하는 따옴표 앞에 r을 붙이시거나 -> r"C:\Users\computer\Desktop\사진\"
② 모든 역슬래시를 두겹으로 하시면 돼요. -> "C:\\Users\\computer\\Desktop\\사진\\"
파이썬에서 문자열이나 경로 다루기가,
생각보다 익숙해지는 데 시간이 좀 걸립니다.
잘 해결되었으면 좋겠습니다. 힘내시기 바랍니다^^
0
음, 아래와 같이 실행해보시기 바랍니다^^
pic_path = "c:/users/computer/desktop/사진/"
pic_list = ["바다, 나무, 들판"]
for i in range(1, 5):
for p in pic_list:
if hwp.MoveToField(f"{p}사진{i}"):
hwp.InsertPicture(pic_path + f"{p}사진{i}.jpg")
제 강의 중에 f"필드명{{{{{i}}}}}"을 썼던 이유는,
동일한 이름의 필드가 존재하는 경우에,
n번째 필드에 값을 넣거나 이동할 때 필요하기 때문입니다.
예를 들어 "바다사진"이라는 동일명의 필드가 4개 존재한다면
3번째 "바다사진" 필드로 이동하려면 중괄호 두 겹을 붙여서hwp.MoveToField("바다사진{{2}}")
라고 입력해야 하거든요.
f스트링으로 이걸 표현하려면
i = 2
hwp.MoveToField(f"바다사진{{{{{i}}}}}")
라고 써줘야 하고요. (f스트링이 중괄호 세 겹을 잡아먹으니까요.)
시연화면은 아래와 같습니다. (움짤코드는 무시하시고 화면만..)
도움이 되었으면 좋겠습니다^^
행복한 하루 되세요!!
답변 감사합니다 ~! 제가 위에 코드를 똑같이 따라서 해봤는데요.
pic_path = "C:\Users\computer\Desktop\사진\" 에서
unterminated string literal(detected at line 9) 경고창이 뜹니다.
안되길래 역슬래시 2번 쓰면 사진이 전혀 들어가지 않습니다.ㄷ