Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk menamakan semula fail dalam python

Bagaimana untuk menamakan semula fail dalam python

青灯夜游
青灯夜游asal
2023-03-02 17:24:426759semak imbas

Dalam python, anda boleh menggunakan fungsi rename() pakej os untuk menamakan semula fail (direktori). Oleh kerana rename() ialah fungsi yang disediakan oleh pakej os, jika anda ingin menggunakan fungsi ini, anda perlu memperkenalkan pakej os terlebih dahulu, dengan sintaks "import os".

Bagaimana untuk menamakan semula fail dalam python

Namakan semula fail

Tampal kod terus:

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')

ke folder Namakan semula fail dalam pesanan

Apabila memproses gambar pembelajaran mesin, anda perlu memasukkan gambar ke dalam folder yang berbeza mengikut kategori Anda juga ingin menamakan semula gambar dalam kenaikan berangka di bawah folder untuk kemudahan pemprosesan.

Pertama, mari kita lihat fungsi nama semula python:

os.rename(src,dst)
  • src: Nama direktori yang akan diubah suai
  • dst: Nama direktori yang diubah suai

Jika dst ialah direktori sedia ada, OSError akan dibuang.

Nota: src dan dst ialah kedua-dua laluan penuh + nama fail

Mula-mula, mari namakan semula folder

Cuba gunakan kaedah paling mudah dahulu

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)

Bagaimana untuk menamakan semula fail dalam python

Kita dapat melihat bahawa folder telah dinamakan semula mengikut urutan

Ubahsuai sedikit, nampaknya tidak begitu rendah

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)

Bagaimana untuk menamakan semula fail dalam python

Kesannya sama, fungsi enumerate Fungsi tidak akan diterangkan sekali lagi. Kami juga boleh menggunakan zip python untuk mengubah suai:

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)

Kesannya adalah sama:

Bagaimana untuk menamakan semula fail dalam python

Seterusnya kita menamakan semula fail

Tiga kaedah di atas semuanya boleh digunakan, dan hanya perlu diubah suai sedikit saya akan menggunakan fungsi enumerate sebagai contoh untuk menunjukkan:

Bagaimana untuk menamakan semula fail dalam python

Buat dokumen teks dahulu

Salin dan tampal sekumpulan mereka untuk ujian, tambah percubaan-kecuali dalam fungsi, Untuk mengelakkan ralat menamakan semula fail, penamaan semula di sini mestilah fail dalam format yang sama, jika tidak, ralat akan dilaporkan:

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)

Bagaimana untuk menamakan semula fail dalam python

[Disyorkan Berkaitan: Tutorial video Python3 ]

Atas ialah kandungan terperinci Bagaimana untuk menamakan semula fail dalam python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn