Python เปลี่ยนชื่อไฟล์และไดเร็กทอรีโดยใช้ os.rename()
⚡ สรุปอย่างชาญฉลาด
Python บทความนี้จะสอนวิธีการเปลี่ยนชื่อไฟล์และไดเร็กทอรีด้วย os.rename() คุณจะได้เรียนรู้เกี่ยวกับ os.rename(), os.renames(), shutil.move() และ pathlib Path.rename() รวมถึงวิธีการเปลี่ยนชื่อไดเร็กทอรีและเปลี่ยนชื่อไฟล์หลายไฟล์พร้อมกันด้วยตัวอย่างที่ชัดเจน

Python เปลี่ยนชื่อไฟล์
Python เปลี่ยนชื่อไฟล์() เป็นวิธีที่ใช้ในการเปลี่ยนชื่อไฟล์หรือไดเร็กทอรีใน Python การเขียนโปรแกรม ที่ Python วิธีการเปลี่ยนชื่อไฟล์ () สามารถประกาศได้โดยการส่งอาร์กิวเมนต์สองตัวชื่อ src (แหล่งที่มา) และ dst (ปลายทาง)
วากยสัมพันธ์
นี่คือไวยากรณ์สำหรับวิธีการ os.rename()
os.rename(src, dst)
พารามิเตอร์
src: Source คือชื่อของไฟล์หรือไดเร็กทอรี มันควรจะมีอยู่แล้ว
เวลา: Destination คือชื่อใหม่ของไฟล์หรือไดเร็กทอรีที่คุณต้องการเปลี่ยนแปลง
ตัวอย่าง:
import os os.rename('guru99.txt','career.guru99.txt')
ลองดูตัวอย่างโดยละเอียด
คุณสามารถเปลี่ยนชื่อไฟล์ต้นฉบับได้ เราได้เปลี่ยนชื่อไฟล์จาก “Guruเปลี่ยนไฟล์ “99.txt” เป็น “Career.guru99.txt”
- หากต้องการเปลี่ยนชื่อไฟล์ "guru99.txt" เราจะใช้ "ฟังก์ชันเปลี่ยนชื่อ" ในโมดูล OS
- ดังนั้นเมื่อมีการเรียกใช้โค้ด คุณจะสังเกตเห็นว่าไฟล์ใหม่ “career.guru99.txt” ถูกสร้างขึ้นทางด้านขวาของแผง ซึ่งเราเปลี่ยนชื่อเป็นไฟล์ต้นฉบับของเรา
นี่คือรหัสที่สมบูรณ์
import os import shutil from os import path def main(): # make a duplicate of an existing file if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename('guru99.txt','career.guru99.txt') if __name__ == "__main__": main()
วิธีการเปลี่ยนชื่อไดเร็กทอรีใน Python
เมธอด os.rename() ยังสามารถเปลี่ยนชื่อไดเร็กทอรีได้ด้วย ไม่ใช่แค่เปลี่ยนชื่อไฟล์เท่านั้น ให้ส่งชื่อโฟลเดอร์ปัจจุบันเป็นแหล่งที่มา และชื่อใหม่เป็นปลายทาง
import os os.rename("old_directory", "new_directory")
หากไดเร็กทอรีต้นทางไม่มีอยู่ Python จะทำให้เกิดข้อผิดพลาด FileNotFoundError ดังนั้นจึงควรตรวจสอบเส้นทางก่อนเสมอ
เปลี่ยนชื่อไฟล์โดยใช้ os.renames()
เมธอด os.renames() จะเปลี่ยนชื่อไฟล์และสร้างไดเร็กทอรีชั่วคราวที่ขาดหายไปในพาธปลายทางโดยอัตโนมัติ นอกจากนี้ยังลบไดเร็กทอรีว่างที่เหลืออยู่ในพาธต้นทางด้วย
import os os.renames("guru99.txt", "archive/2024/career.txt")
โฟลเดอร์ archive และ 2024 จะถูกสร้างขึ้นโดยอัตโนมัติหากยังไม่มีอยู่
เปลี่ยนชื่อไฟล์โดยใช้ shutil.move()
ฟังก์ชัน shutil.move() จะย้ายไฟล์ไปยังตำแหน่งใหม่ ซึ่งจะเปลี่ยนชื่อไฟล์โดยอัตโนมัติเมื่อปลายทางอยู่ในไดเร็กทอรีเดียวกัน
import shutil shutil.move("guru99.txt", "career.guru99.txt")
ต่างจาก os.rename() ฟังก์ชัน shutil.move() ยังสามารถย้ายไฟล์ข้ามระบบไฟล์หรือไดรฟ์ต่างๆ ได้อีกด้วย
เปลี่ยนชื่อไฟล์โดยใช้โมดูล pathlib
In Python ในเวอร์ชัน 3.4 และเวอร์ชันต่อมา โมดูล pathlib มีเมธอด Path.rename() ที่เป็นแบบเชิงวัตถุสำหรับการเปลี่ยนชื่อไฟล์
from pathlib import Path file = Path("guru99.txt") file.rename("career.guru99.txt")
เมธอด rename() จะส่งคืนอ็อบเจ็กต์ Path ใหม่ที่ชี้ไปยังไฟล์ที่เปลี่ยนชื่อแล้ว
วิธีการเปลี่ยนชื่อไฟล์หลายไฟล์พร้อมกัน Python
หากต้องการเปลี่ยนชื่อไฟล์จำนวนมากพร้อมกัน ให้วนลูปผ่านไฟล์ในไดเร็กทอรีโดยใช้ os.listdir() และเรียกใช้ os.rename() สำหรับแต่ละไฟล์ ตัวอย่างด้านล่างจะเพิ่มคำนำหน้าตัวเลขให้กับทุกไฟล์
import os folder = "myfiles" for count, filename in enumerate(os.listdir(folder)): new_name = f"file_{count}.txt" os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))
การใช้ os.path.join() จะทำให้โค้ดทำงานได้อย่างถูกต้องบนระบบปฏิบัติการใดๆ ก็ตาม

