View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
Prerequisite: OS module in Python
In
Python3, rename[] method is used to rename a file or directory. This method is a part of the os module and comes in extremely handy.
Syntax for os.rename[] :
os.rename[src, dst] : src is source address of file to be renamed and dst is destination with the new name.
Now say given n images in a folder having random names. For example, consider the image below:
Now the requirement is to rename them in ordered fashion like hostel1, hostel2, …and so on. Doing this manually would be a tedious task but this target can be achieved using the rename[] and listdir[] methods in the os module.
The listdir method lists out all the content of a given directory.
Syntax for listdir[] :
list = os.listdir[‘src’] : where src is the source folder to be listed out.
The following code will do the job for us. It traverses through the lists of all the images in xyz folder, defines the destination [dst] and source [src] addresses, and renames using rename module.
The accepted format for destination [dst] and source [src] addresses to be given as arguments in
os.rename[src,dst] is “folder_name/file_name”.
Below is the implementation :
Python3
import
os
def
main[]:
folder
=
"xyz"
for
count, filename
in
enumerate
[os.listdir[folder]]:
dst
=
f
"Hostel {str[count]}.jpg"
src
=
f
"{folder}/{filename}"
dst
=
f
"{folder}/{dst}"
os.rename[src, dst]
if
__name__
=
=
'__main__'
:
main[]
Output :
The output of this code will look something like this –
Note : This code may not run in online IDE, since it use external image file directory.
View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
Given multiple files in a directory having different names, the task is to rename all those files in sorted order.
We can use
OS module in order to do this operation. The OS module in Python provides functions for interacting with the operating system and provides a portable way of using operating system-dependent functionality. We can go to the current working directory using os.getcwd[] method and rename the files with os.rame[] method.
Below is the Python implementation :
Python3
import
os
os.chdir[
'D:\\Geeksforgeeks'
]
print
[os.getcwd[]]
for
count, f
in
enumerate
[os.listdir[]]:
f_name, f_ext
=
os.path.splitext[f]
f_name
=
"geek"
+
str
[count]
new_name
=
f
'{f_name}{f_ext}'
os.rename[f, new_name]
Output: