我正在尝试使用Shutil来使用Pathlib中的路径对象复制pdf文件,但是当我运行我的代码时,我得到错误" 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()
答案 0 :(得分:4)
问题在于:
str = str(pdf.stem)
您正在覆盖值str
,因此从循环的第二次迭代开始,str
不再引用内置的str
函数。为此变量选择其他名称。