Đổi tên tệp Python

Đối với mục đích trình diễn, giả sử rằng một tệp có tên "Sản phẩm" được lưu trữ theo đường dẫn sau

C. \Users\Ron\Desktop\Test

Lưu ý rằng bạn sẽ cần sửa đổi đường dẫn tệp để phản ánh vị trí lưu trữ tệp trên máy tính của bạn

Bước 2. Đổi tên tệp

Để đổi tên tệp bằng Python, bạn cần nhập gói os

Sau đó, bạn có thể sử dụng mẫu sau để đổi tên tệp của mình

import os
os.rename[r'file path\OLD file name.file type',r'file path\NEW file name.file type']

Trong bối cảnh ví dụ của chúng tôi

  • Đường dẫn tập tin. C. \Users\Ron\Desktop\Test
  • Tên tệp CŨ. Các sản phẩm
  • tên tập tin MỚI. Sản phẩm đã vận chuyển
  • Loại tệp. txt

Đừng quên đặt “r” trước đường dẫn tệp để tránh lỗi sau trong Python

[lỗi unicode] codec 'unicodeescape' không thể giải mã byte ở vị trí 2-3. rút ngắn \UXXXXXXX thoát

Mã Python hoàn chỉnh để đổi tên tệp văn bản từ “Sản phẩm” thành “Sản phẩm đã vận chuyển” là

import os
os.rename[r'C:\Users\Ron\Desktop\Test\Products.txt',r'C:\Users\Ron\Desktop\Test\Shipped Products.txt']

Chạy mã [được điều chỉnh theo đường dẫn tệp của bạn] và bạn sẽ nhận được tên tệp mới

Sản phẩm đã vận chuyển

Bước tùy chọn. Thêm dấu ngày khi đổi tên tệp

Giả sử bạn muốn thêm dấu ngày khi đổi tên tệp

Bạn có thể hoàn thành tác vụ này bằng gói datetime

Trong ví dụ của chúng tôi, để đổi tên tệp "Sản phẩm" thành "Sản phẩm đã vận chuyển" + dấu ngày, bạn cần áp dụng mã này [được điều chỉnh theo đường dẫn tệp của bạn]

Khả năng làm việc với các tệp là một kỹ năng cần thiết đối với nhà phát triển Python ở mọi cấp độ kỹ năng. Đặc biệt, Python có thể được sử dụng để dễ dàng đổi tên một tệp hoặc nhiều tệp. Khả năng tự động hóa các tác vụ lặp đi lặp lại, chẳng hạn như đổi tên tệp có thể giúp bạn tiết kiệm rất nhiều thời gian. Trong hướng dẫn này, bạn sẽ học cách đổi tên tệp bằng Python bằng lệnh os. đổi tên[] chức năng

Đến cuối hướng dẫn này, bạn sẽ học được những điều sau

  • Cách sử dụng hàm os.rename[] trong Python
  • Cách đổi tên một tệp hoặc nhiều tệp cùng một lúc
  • Cách đổi tên các tệp khớp với một mẫu, chẳng hạn như sửa đổi mẫu ngày trong nhiều tệp
  • Xử lý lỗi khi đổi tên file bằng Python

Mục lục

Hiểu hệ điều hành Python. đổi tên [] Chức năng

Python đi kèm với một hàm dựng sẵn, rename[], là một phần của thư viện os. Như tên ngụ ý, chức năng được sử dụng để đổi tên một tập tin. Trước khi đi sâu vào các ví dụ thực tế như thế nào, chúng ta hãy xem những gì tạo nên chức năng, bao gồm các tham số khác nhau của nó

# Understanding the Python os.rename[] Function
os.rename[
   src, 
   dst, 
   *, 
   src_dir_fd=None, 
   dst_dir_fd=None
]

Từ đoạn mã trên, bạn có thể thấy rằng hàm chấp nhận bốn đối số, hai trong số đó là tùy chọn. Chúng ta hãy xem các tham số của hàm os.rename[], bao gồm các đối số mặc định của chúng

Tham số Mô tả Đối số mặc định Giá trị được chấp nhận_______3_______0Đường dẫn cho tệp mà bạn muốn đổi tên theo chuỗi hoặc dạng đường dẫn
# Rename a File with Python os.rename[]
import os

os.rename['old_name.txt', 'new_name.txt']
1Đường dẫn đích cho tệp mà bạn muốn sử dụng dạng chuỗi hoặc dạng đường dẫn
# Rename a File with Python os.rename[]
import os

os.rename['old_name.txt', 'new_name.txt']
2Thư mục tệp nguồn
# Rename a File with Python os.rename[]
import os

os.rename['old_name.txt', 'new_name.txt']
3chuỗi hoặc dạng đường dẫn
# Rename a File with Python os.rename[]
import os

os.rename['old_name.txt', 'new_name.txt']
4Thư mục tệp đích
# Rename a File with Python os.rename[]
import os

os.rename['old_name.txt', 'new_name.txt']
3chuỗi hoặc dạng đường dẫnCác tham số và đối số mặc định của . đổi tên[] chức năng

Bây giờ bạn đã hiểu rõ về cách thức hoạt động của hàm, hãy đi sâu vào một số ví dụ thực tế về cách đổi tên tệp bằng Python

Cách đổi tên tệp bằng Python bằng os. đổi tên[]

Làm cách nào bạn có thể đổi tên tệp bằng Python?

Để đổi tên tệp bằng Python, bạn có thể sử dụng lệnh os. đổi tên[] chức năng. Chỉ cần chuyển vào cả đường dẫn nguồn tới tệp và đường dẫn tệp được cập nhật mà bạn muốn sử dụng. Nếu đường dẫn tệp được đổi tên đã tồn tại, thì Python sẽ tăng FileExistsError

Hãy cùng xem một ví dụ về cách đổi tên tệp bằng Python

# Rename a File with Python os.rename[]
import os

os.rename['old_name.txt', 'new_name.txt']

Hãy xem cách chúng ta có thể đổi tên tệp bằng Python os. đổi tên[] chức năng

  1. Nhập thư viện os

    Nhập thư viện hệ điều hành bằng cách sử dụng

    # Rename a File with Python os.rename[]
    import os
    
    os.rename['old_name.txt', 'new_name.txt']
    6 sẽ cung cấp cho bạn quyền truy cập vào hệ điều hành. đổi tên[] chức năng

  2. Nhập đường dẫn tệp gốc làm đối số đầu tiên trong hệ điều hành. đổi tên[] chức năng

    hệ điều hành. hàm rename[] chấp nhận hai đối số bắt buộc. đường dẫn gốc, tệp nguồn và đường dẫn tệp đích. Nhập đường dẫn tệp nguồn vào đối số vị trí đầu tiên

  3. Nhập đường dẫn tệp đã đổi tên vào đối số thứ hai trong hệ điều hành. đổi tên[] chức năng

    Nhập đường dẫn tệp đã đổi tên vào đối số thứ hai. Nếu đường dẫn tệp đã tồn tại, Python sẽ tăng FileExistsError và chương trình sẽ không hoàn thành

Bây giờ bạn đã biết cách đổi tên một tệp, hãy xem cách bạn có thể sử dụng Python để đổi tên nhiều tệp cùng một lúc

Cách đổi tên nhiều tệp bằng Python bằng os. đổi tên[]

Để đổi tên nhiều tệp bằng Python, bạn có thể kết hợp hệ điều hành. rename[] với vòng lặp for Python. Vòng lặp for cho phép bạn lặp qua danh sách các mục, chẳng hạn như danh sách tên tệp

Nếu bạn muốn đổi tên tất cả các tệp trong một thư mục, bạn có thể sử dụng lệnh os. listdir[] để lấy danh sách tất cả các tệp trong một thư mục. Hãy xem cách chúng ta có thể sử dụng vòng lặp for và os. rename[] để đổi tên tất cả các tệp trong một thư mục bằng cách thêm tiền tố của

# Rename a File with Python os.rename[]
import os

os.rename['old_name.txt', 'new_name.txt']
7

# Rename Multiple Files with Python
import os

dir = 'files/'

for file in os.listdir[dir]:
    old_filepath = os.path.join[dir, file]
    new_name = 'old_' + file
    new_filepath = os.path.join[dir, new_name]

    os.rename[old_filepath, new_filepath]

Hãy chia nhỏ những gì chúng ta đang làm trong khối mã ở trên

  1. Chúng tôi tạo một biến mới cho thư mục của chúng tôi,
    # Rename a File with Python os.rename[]
    import os
    
    os.rename['old_name.txt', 'new_name.txt']
    8. Trong trường hợp này, nó giữ đường dẫn tương đối đến thư mục của chúng ta, giả sử rằng chúng ta đang làm việc trong cùng một thư mục
  2. Sau đó, chúng tôi lặp qua từng tệp trong thư mục và thực hiện như sau
    1. Chúng tôi tạo một biến có tên là
      # Rename a File with Python os.rename[]
      import os
      
      os.rename['old_name.txt', 'new_name.txt']
      9 đại diện cho đường dẫn đến các tệp
    2. Chúng tôi tạo một tên mới cho mỗi tệp bằng cách giả sử _12_______0 cho tệp
    3. Sau đó chúng tôi tham gia thư mục và tên mới với nhau
  3. Cuối cùng, chúng tôi sử dụng chức năng os.rename[] để đổi tên từng tệp trong thư mục

Trong phần sau, bạn sẽ tìm hiểu cách đổi tên tệp trong thư mục khớp với mẫu dấu thời gian

Cách đổi tên tệp khớp với mẫu dấu thời gian bằng Python

Trong nhiều trường hợp, các tệp sẽ có dấu thời gian hoặc mẫu ngày trong đó. Tuy nhiên, trong một số trường hợp, các mẫu ngày này sẽ không được cấu trúc theo cách hữu ích cho bạn. Đây là nơi có thể đổi tên tệp bằng Python có ích. Có thể đổi tên hàng trăm hoặc hàng nghìn tệp để thay đổi mẫu ngày và giờ của chúng là một kỹ năng cực kỳ hữu ích

Hãy xem xét một ví dụ. Giả sử chúng tôi có một thư mục tệp chứa các tệp sau

  • file_01-01-2023. txt
  • file_02-01-2023. txt
  • file_03-01-2023. txt
  • file_04-01-2023. txt

Chúng ta có thể thấy rằng các tệp này có ngày được thêm vào chúng. Mẫu cho những ngày này là MM-DD-YYYY. Giả sử bạn muốn thay đổi định dạng thành định dạng YYYY-MM-DD phổ biến hơn. Hãy xem cách chúng ta có thể làm điều này với Python

# Rename Files with a Date Pattern
import os
import re
from datetime import datetime

dir = 'date_files/'

for file in os.listdir[dir]:
    old_filename = os.path.join[dir, file]
    old_date = re.search[r'\d{2}-\d{2}-\d{4}', file].group[]

    new_date = datetime.strptime[old_date, '%M-%d-%Y'].strftime['%Y-%M-%d']
    new_file = file.replace[old_date, new_date]
    new_filename = os.path.join[dir, new_file]

    os.rename[old_filename, new_filename]

Ví dụ này phức tạp hơn một chút, vì vậy hãy chia nhỏ những gì chúng ta đang làm từng bước

  1. Chúng tôi nhập os, re và datetime. thư viện ngày giờ
  2. Sau đó chúng ta khai báo biến
    # Rename a File with Python os.rename[]
    import os
    
    os.rename['old_name.txt', 'new_name.txt']
    8 như trước
  3. Khi chúng tôi lặp lại các tệp, chúng tôi tìm kiếm mẫu ngày cũ bằng cách sử dụng phương thức
    # Rename Multiple Files with Python
    import os
    
    dir = 'files/'
    
    for file in os.listdir[dir]:
        old_filepath = os.path.join[dir, file]
        new_name = 'old_' + file
        new_filepath = os.path.join[dir, new_name]
    
        os.rename[old_filepath, new_filepath]
    3
  4. Sau đó, chúng tôi sử dụng các hàm strptime và strftime để tải mẫu ngày đầu tiên dưới dạng ngày và sau đó sửa đổi nếu thành mẫu mong muốn của chúng tôi
  5. Cuối cùng, chúng tôi tạo đường dẫn tệp mới của mình và đổi tên tệp bằng lệnh os. đổi tên[] chức năng

Trong phần cuối cùng bên dưới, bạn sẽ tìm hiểu cách xử lý lỗi khi đổi tên tệp bằng Python

Cách xử lý lỗi khi đổi tên file bằng Python

Khi cố gắng đổi tên một tệp không tồn tại bằng Python, một số

# Rename Multiple Files with Python
import os

dir = 'files/'

for file in os.listdir[dir]:
    old_filepath = os.path.join[dir, file]
    new_name = 'old_' + file
    new_filepath = os.path.join[dir, new_name]

    os.rename[old_filepath, new_filepath]
4 sẽ xuất hiện. Điều này chỉ ra rằng tệp không tồn tại và sẽ làm hỏng chương trình của bạn trừ khi nó được xử lý thích hợp

Hãy xem lỗi này trông như thế nào

# Raising a FileNotFoundError
import os

os.rename['thisfiledoesnotexist.txt', 'newname.txt']

# Returns:
# FileNotFoundError: [Errno 2] No such file or directory: 'thisfiledoesnotexist.txt' -> 'newname.txt'

Từ đoạn mã trên, chúng ta có thể thấy rằng chương trình đã bị lỗi khi chúng ta cố đổi tên tệp. Để xử lý lỗi này một cách an toàn và giữ cho chương trình chạy, chúng ta có thể bọc mọi thứ trong một khối try-else

Hãy xem cái này trông như thế nào

# Handling a FileNotFoundError
import os

try:
    os.rename['thisfiledoesnotexist.txt', 'newname.txt']
except FileNotFoundError:
    print['File does not exist.']

# Returns: File does not exist.

Chúng ta có thể thấy rằng bằng cách sử dụng khối try-else, chúng ta có thể xử lý lỗi cụ thể xuất hiện khi tệp không tồn tại. Trong trường hợp này, chương trình của chúng tôi tiếp tục chạy và cho người dùng biết rằng tệp không tồn tại

Phần kết luận

Trong hướng dẫn này, bạn đã học cách đổi tên tệp bằng Python. Bởi vì Python là ngôn ngữ lập trình có mục đích chung, nên nó có thể được sử dụng để tự động hóa các tác vụ thông thường, chẳng hạn như làm việc với các tệp. Lần đầu tiên bạn học cách hệ điều hành. rename[] hoạt động bằng cách khám phá các tham số và đối số mặc định khác nhau của nó. Sau đó, bạn đã học cách đổi tên một tệp và nhiều tệp. Từ đó, bạn đã học cách đổi tên các mẫu ngày trong tệp để đáp ứng nhu cầu của mình. Cuối cùng, bạn đã học cách xử lý FileNotFoundErrors phát sinh khi sử dụng hệ điều hành. rename[] khi tệp không tồn tại

Tôi có thể sử dụng Python để đổi tên tệp không?

Để đổi tên tệp trong Python, hãy sử dụng phương thức rename[] của mô-đun os . Các tham số của phương thức rename[] là địa chỉ nguồn [tên cũ] và địa chỉ đích [tên mới].

Việc sử dụng đổi tên [] trong Python là gì?

rename[] trong Python được sử dụng để đổi tên tệp hoặc thư mục . Phương pháp này đổi tên tệp/thư mục nguồn thành tệp/thư mục đích được chỉ định.

Làm cách nào để đổi tên nhiều tệp cùng một lúc bằng các tên khác Python?

đổi tên[]. hệ điều hành. đổi tên [src, dst]. src là địa chỉ nguồn của tệp được đổi tên và dst là đích với tên mới

Chức năng nào được sử dụng để đổi tên tệp?

ĐỔI TÊN [REN] . Thay đổi tên tệp theo đó tệp được lưu trữ. RENAME thay đổi tên của tên tệp đầu tiên bạn nhập thành tên tệp thứ hai bạn nhập. Nếu bạn nhập chỉ định đường dẫn cho tên tệp đầu tiên, tệp được đổi tên sẽ được lưu trữ trên cùng đường dẫn đó.

Chủ Đề