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 функция. Выберите другое имя для этой переменной.

Другие вопросы по тегам