import os def rename(directory): for name in os.listdir(directory): print(name) os.rename(name,"0"+name) path = input("Enter the file path") rename(path)
I want to rename every file in a certain directory so that it adds a 0 to the beginning of the file name, however when I try to run the code it comes up with this error:
(FileNotFoundError: [WinError 2] The system cannot find the file specified: ‘0.jpg’ -> ’00.jpg’)
I’m sure that there is a file in there named 0.jpg and i’m not sure what the problem is.
Sorry if this is a stupid question i’m new to coding.
As written you’re looking for a file named
0.jpg in the working directory. You want to be looking in the directory you pass in.
So instead do:
You cannot use absolute path unless your terminal is in that directory. Hence you can do as following:
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)
Agreeing with Bernie’s answer that “filename” is used to mean the full/absolute path name . The below will also work.