Python Pathlib объект пути не преобразуется в строку
Я пытаюсь использовать Shutil для копирования PDF-файла с использованием объектов пути из Pathlib, однако, когда я запускаю свой код, я получаю сообщение об ошибке "объект str не вызывается" при преобразовании моих путей обратно в строки с использованием str(). Любое объяснение, почему это происходит, было бы очень полезно. Спасибо!
from pathlib import Path
from wand.image import Image as wandImage
import shutil
import sys
import os
def pdf2Jpeg(pdf_path):
pdf = pdf_path
jpg = pdf[:-3] + "jpg"
img = wandImage(filename=pdf)
img.save(filename=jpg)
src0 = Path(r"G:\Well Schematics\Well Histories\Merged")
dst0 = Path(r"G:\Well Schematics\Well Histories\Out")
if not dst0.exists():
dst0.mkdir()
pdfs = []
api = ''
name = ''
pnum = ''
imgs = []
for pdf in src0.iterdir():
pdfs.append(pdf)
for pdf in pdfs:
if not dst0.exists():
dst0.mkdir()
str = str(pdf.stem)
split = str.split('_')
api = split[0]
name = split[1]
pnum = split[2]
shutil.copy(str(pdf), str(dst0))
for file in dst0.iterdir():
newpdf = file
pdf2Jpeg(str(newpdf))
newpdf.unlink()
1 ответ
Решение
Проблема здесь:
str = str(pdf.stem)
Вы перезаписываете значение str
так что, начиная со второй итерации вашего цикла, str
больше не относится к встроенному str
функция. Выберите другое имя для этой переменной.