FileNotFoundError: [WinError 2] Het systeem kan het opgegeven bestand niet vinden:

Ik wil elk bestand in een bepaalde map hernoemen, zodat het een 0 aan het begin van de bestandsnaam toevoegt, maar als ik de code probeer uit te voeren, krijg ik deze fout:

(FileNotFoundError: [WinError 2] Het systeem kan het opgegeven bestand: ‘0.jpg’ -> ’00.jpg’) niet vinden

Ik weet zeker dat er een bestand is met de naam 0.jpg en ik weet niet zeker wat het probleem is.

Sorry als dit een domme vraag is, ik ben nieuw in coderen.


Antwoord 1, autoriteit 100%

Zoals geschreven zoekt u in de werkmap naar een bestand met de naam 0.jpg. U wilt zoeken in de map die u doorgeeft.

Dus in plaats daarvan:

       os.rename(os.path.join(directory,name), 
                  os.path.join(directory,'0'+name))

Antwoord 2, autoriteit 5%

Ik ben het eens met Bernie’s antwoord dat “bestandsnaam” wordt gebruikt om de volledige/absolute padnaam aan te duiden. Het onderstaande zal ook werken.

       os.rename((directory+name),(directory+'0'+name))

Antwoord 3, autoriteit 5%

U kunt geen absoluut pad gebruiken tenzij uw terminal zich in die map bevindt.
Daarom kunt u het volgende doen:

import os
def rename(directory):
    os.chdir(directory) # Changing to the directory you specified.
    for name in os.listdir(directory):
        print(name)
        os.rename(name,"0"+name)

Other episodes