Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rename and move file with Python

I have a Python script that compares existing file names in a folder to a reference table and then determines if it needs to be renamed or not.

As it loops through each filename:

'oldname' = the current file name  'newname' = what it needs to be renamed to 

I want rename the file and move it to a new folder "..\renamedfiles"

Can I do the rename and the move at the same time as it iterates through the loop?

like image 498
Zipper1365 Avatar asked Mar 01 '17 20:03

Zipper1365


People also ask

Can os rename move a file?

move uses os. rename to move the file or directory. Otherwise, it uses shutil. copy2 to copy the file or directory to the destination and then deletes the source.

Can Shutil move rename?

You can rename a directory in Python by moving it using the shutil module. The shutil. move(src, dst) moves the directory from src to dst. If you just change the name of the directory without specifying the path, you'll basically be renaming it.

How do you mass rename a file in Python?

To rename files in Python, use the rename() method of the os module. The parameters of the rename() method are the source address (old name) and the destination address (new name).


1 Answers

Yes you can do this. In Python you can use the move function in shutil library to achieve this.

Let's say on Linux, you have a file in /home/user/Downloads folder named "test.txt" and you want to move it to /home/user/Documents and also change the name to "useful_name.txt". You can do both things in the same line of code:

import shutil  shutil.move('/home/user/Downloads/test.txt', '/home/user/Documents/useful_name.txt') 

In your case you can do this:

import shutil  shutil.move('oldname', 'renamedfiles/newname') 
like image 155
Danny Avatar answered Sep 23 '22 01:09

Danny