Python Pathlib path object not converting to string

67,475

The problem is here:

str = str(pdf.stem)

You're overwriting the value str, so starting from the 2nd iteration of your loop, str no longer refers to the built-in str function. Choose a different name for this variable.

Share:
67,475
MrClean
Author by

MrClean

Learning python for both work and play without much background in programming. Really interested in machine learning.

Updated on June 02, 2020

Comments

  • MrClean
    MrClean about 4 years

    I am trying to use Shutil to copy a pdf file using path objects from Pathlib, however when I run my code I get the error "str object is not callable" when converting my paths back to strings using str(). Any explanation for why this is occurring would be very helpful. Thanks!

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