Home >Backend Development >Python Tutorial >How to rename files in python

How to rename files in python

青灯夜游
青灯夜游Original
2023-03-02 17:24:426756browse

In python, you can use the rename() function of the os package to rename files (directories). The syntax "os.rename(src_path,dst_path)" can rename the file of src_path to dst_path. Because rename() is a function provided by the os package, if you want to use this function, you need to introduce the os package first, with the syntax "import os".

How to rename files in python

Yes Rename files

Directly paste the code:

import os
srcFile = './actwork/linkFile/allExtLinks - 副本.txt'
dstFile = './actwork/linkFile/allExtLinks - copy.txt'
try:
    os.rename(srcFile,dstFile)
except Exception as e:
    print(e)
    print('rename file fail\r\n')
else:
    print('rename file success\r\n')

Rename the files in the folder in order

When processing machine learning pictures, you need to put the pictures into different folders according to categories. In the folders, you also want to rename the pictures with increasing numbers to facilitate subsequent processing.

First, let’s take a look at python’s rename function:

os.rename(src,dst)
  • src: The directory name to be modified
  • dst: Modified directory name

If dst is an existing directory, OSError will be thrown.

Note: src and dst are both full path file names

First, let’s rename the folder

Use the simplest method to try it first

import os
def myrename(path):
    file_list=os.listdir(path)
    i=0
    for fi in file_list:
        old_name=os.path.join(path,fi)
        new_name=os.path.join(path,str(i))
        os.rename(old_name,new_name)
        i+=1
if __name__=="__main__":
    path="D:/test/121"
    myrename(path)

How to rename files in python

We can see that the folders have been renamed in order

Slightly changed, it seems not so low

import os
def myrename(path):
    file_list=os.listdir(path)
    for i,fi in enumerate(file_list):
        old_name=os.path.join(path,fi)
        new_name=os.path.join(path,"N0."+str(i))
        os.rename(old_name,new_name)
if __name__=="__main__":
    path="D:/test/121"
    myrename(path)

How to rename files in python

The effect is the same, the enumerate function no longer has the effect To go into details, we can also use python zip to make modifications:

import os
def myrename(path):
    file_list=os.listdir(path)
    for i,fi in zip(range(len(file_list)),file_list):
        old_name=os.path.join(path,fi)
        new_name=os.path.join(path,"The."+str(i))
        os.rename(old_name,new_name)
if __name__=="__main__":
    path="D:/test/121"
    myrename(path)

The effect is the same:

How to rename files in python

## Next we Rename files

The above three methods can all be used, just need to be slightly modified. I will use the function enumerate as an example to demonstrate:

How to rename files in python

Create a text document first

Copy and paste a bunch of them for testing. Add a try-except to the function to prevent file renaming errors. Here The rename needs to be a file in the same format, otherwise an error will be reported:

import os
def myrename(path):
    file_list=os.listdir(path)
    for i,fi in enumerate(file_list):
        old_dir=os.path.join(path,fi)
        filename="my"+str(i+1)+"."+str(fi.split(".")[-1])
        new_dir=os.path.join(path,filename)
        try:
            os.rename(old_dir,new_dir)
        except Exception as e:
            print(e)
            print("Failed!")
        else:
            print("SUcess!")
if __name__=="__main__":
    path="D:/test/121"
    myrename(path)

How to rename files in python##[Related recommendations:

Python3 video tutorial

The above is the detailed content of How to rename files in python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn