34

我正在尝试使用 Shutil 使用 Pathlib 中的路径对象复制 pdf 文件,但是当我运行代码时,使用 str() 将路径转换回字符串时出现错误“str object is not callable”。任何解释为什么会发生这种情况都会非常有帮助。谢谢!

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()
4

1 回答 1

56

问题在这里:

str = str(pdf.stem)

您正在覆盖 value str,因此从循环的第二次迭代开始,str不再引用内置str函数。为此变量选择不同的名称。

于 2017-06-01T19:42:00.707 回答