Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Renaming multiple files in a directory using Python

I'm trying to rename multiple files in a directory using this Python script:

import os path = '/Users/myName/Desktop/directory' files = os.listdir(path) i = 1  for file in files:     os.rename(file, str(i)+'.jpg')     i = i+1 

When I run this script, I get the following error:

Traceback (most recent call last):   File "rename.py", line 7, in <module>     os.rename(file, str(i)+'.jpg') OSError: [Errno 2] No such file or directory 

Why is that? How can I solve this issue?

Thanks.

like image 687
Simplicity Avatar asked May 26 '16 17:05

Simplicity


1 Answers

You are not giving the whole path while renaming, do it like this:

import os path = '/Users/myName/Desktop/directory' files = os.listdir(path)   for index, file in enumerate(files):     os.rename(os.path.join(path, file), os.path.join(path, ''.join([str(index), '.jpg']))) 

Edit: Thanks to tavo, The first solution would move the file to the current directory, fixed that.

like image 61
noteness Avatar answered Sep 28 '22 01:09

noteness