Besten Dank für den Input, ich hänge aber immer noch.
Ich habe folgenden, angepassten Code:
Code: Alles auswählen
import re
from pathlib import Path
import shutil
BASEPATH = Path("C:/Users/Startklar/Desktop/Belege/")
for pdf in BASEPATH.glob("*.pdf"):
print(pdf.stem.split("_"))
date, number, name = pdf.stem.split("_")
FILTERS = [
("C:/Users/Startklar/Desktop/Belege/XBIT", "233-00408710")
]
def main():
for place, number in FILTERS:
destination = "C:/Users/Startklar/Desktop/Belege/XBIT/233-00408710"
for sourcefile in BASEPATH.glob(f"*{number}*.pdf"):
sourcefile.rename(BASEPATH(destination))
if __name__ == "__main__":
main()
Meiner Meinung nach müsste der Code folgendes bedeuten: Die Datei soll von BASEPATH also dem Verzeichnis "C:/Users/Startklar/Desktop/Belege/" in das Verzeichnis destination verlegt werden. Unter destination habe ich folgendes Verzeichnis drin "C:/Users/Startklar/Desktop/Belege/XBIT/233-00408710".
Jetzt kommt aber folgende Fehlermeldung:
Code: Alles auswählen
Traceback (most recent call last):
File "C:/Users/Startklar/AppData/Local/Programs/Python/Python38/Versuch I.py", line 23, in <module>
main()
File "C:/Users/Startklar/AppData/Local/Programs/Python/Python38/Versuch I.py", line 20, in main
sourcefile.rename(BASEPATH(destination))
TypeError: 'WindowsPath' object is not callable
Ich bin mir bewusst, dass Euch dieser Hinweis etwas sagt. Ich kann aber nur daraus lesen, dass WindowsPath" object not collable ist. Was ich so interpretiere dass der WindowsPath nicht aufgerufen werden kann. Welcher WindowsPath? Ich habe ja nur den BASEPATH und die destination und diese Verzeichnisse können sehr wohl aufgerufen werden.
@ LukeNukem: Ich bin mir bewusst, dass es für das Problem wohl einfachere Wege gibt als die jeweiligen Verzeichnisse in einem Filter vorzugeben. Ich muss aber etwas erstellen, was für mich möglich ist. Da ich jetzt schon über meinen Grenzen bin macht es kaum Sinn noch schwierigere Tasks anzugehen. Vielen Dank aber Dir.