การเปลี่ยนชื่อไฟล์ใน Python: คู่มือขั้นตอนต่อขั้นตอน
เมธอด os.rename() ใน Python เปลี่ยนชื่อไฟล์ os.rename() รับสองอาร์กิวเมนต์: เส้นทางของไฟล์เก่าและเส้นทางของไฟล์ใหม่ เส้นทางไฟล์ใหม่ควรจบด้วยชื่อไฟล์ที่ต่างออกไป
เมื่อทำงานกับไฟล์ใน Python คุณอาจตัดสินใจเปลี่ยนชื่อไฟล์เฉพาะตัว เช่น หากมีไฟล์ raw_data.csv คุณอาจต้องการเปลี่ยนเป็น old_data.csv เมื่อโปรแกรมรัน
นี่คือที่มาของเมธอด os.rename() เมธอด os.rename() อนุญาตให้คุณเปลี่ยนชื่อไฟล์ที่มีอยู่ใน Python
บทช่วยสอนนี้จะอธิบายพื้นฐานของ os.rename() พร้อมตัวอย่าง และวิธีใช้เปลี่ยนชื่อไฟล์ใน Python
Python Rename File
เมธอด os.rename() ใน Python เปลี่ยนชื่อไฟล์ ไฟล์ที่คุณเปลี่ยนชื่อควรมีอยู่แล้ว คุณต้องระบุเส้นทางของไฟล์ที่เปลี่ยนชื่อ รวมถึงเส้นทางใหม่สำหรับไฟล์ เส้นทางใหม่ควรมีชื่อต่างจากไฟล์ที่กำลังเปลี่ยนชื่อ
ไวยากรณ์ os.rename():
os.rename(file, destination)
เห็นได้ว่า rename() รับสองพารามิเตอร์:
- file: เส้นทางของไฟล์ที่ต้องการเปลี่ยนชื่อ ตามด้วยชื่อไฟล์ (เช่น
"/home/career_karma/file.txt") - destination: เส้นทางของไฟล์ ตามด้วยชื่อไฟล์ใหม่ (เช่น
"/home/career_karma/file_new.txt")
เมธอด os.rename() เป็นส่วนหนึ่งของไลบรารี os ของ Python ไลบรารีนี้ให้ฟังก์ชันเกี่ยวกับระบบปฏิบัติการ เช่น สร้างและลบไฟล์
เพื่อทำงานกับ os.rename() เราต้องนำเข้าไลบรารี os:
import os
มาเดินทางผ่านตัวอย่างแสดง os.rename() ในการทำงาน
ตัวอย่าง Python Rename File
สมมติเราต้องการเปลี่ยนชื่อไฟล์ raw_data.csv เป็น old_data.csv ไฟล์ raw_data.csv จัดเก็บในไดเรกทอรี /home/career_karma เราสามารถเปลี่ยนชื่อไฟล์ด้วยโค้ดนี้:
import os
old_file_name = "/home/career_karma/raw_data.csv"
new_file_name = "/home/career_karma/old_data.csv"
os.rename(old_file_name, new_file_name)
print("File renamed!")
โค้ดคืนค่า: File renamed! โค้ดของเราได้เปลี่ยนชื่อไฟล์แล้ว
ก่อนอื่น เรานำเข้าโมดูล os เพื่อเข้าถึง os.rename()
จากนั้นประกาศตัวแปร Python สองตัว ตัวแรก (old_file_name) มีเส้นทางไฟล์ที่ต้องการเปลี่ยนชื่อ ตัวที่สอง (new_file_name) มีเส้นทางใหม่สำหรับไฟล์
เนื่องจากเราต้องการเปลี่ยนชื่อไฟล์เป็น old_data.csv ตัวแปร new_file_name จบด้วย old_data.csv แทน raw_data.csv
ต่อมา ใช้ os.rename() เปลี่ยนชื่อไฟล์ แล้วโค้ดพิมพ์ "File renamed!" ไปคอนโซล เพื่อทราบว่าโปรแกรมรันแล้ว
Python Rename Multiple Files
ตอนนี้ สมมติเราต้องการเปลี่ยนชื่อหลายไฟล์ เราสามารถทำได้ด้วย os.rename() เช่นกัน
สมมติเราต้องการเปลี่ยนชื่อทุกไฟล์ในไดเรกทอรี /home/career_karma และเพิ่ม old_ นำหน้าชื่อแต่ละไฟล์ ตอนนี้ไดเรกทอรีมีไฟล์:
- data.csv
- raw_data.csv
- program.py
เราสามารถใช้โปรแกรมนี้เพิ่ม old_ นำหน้าชื่อไฟล์ทุกตัว:
import os
for file in os.listdir("/home/career_karma"):
os.rename(file, f"/home/career_karma/old_{file}")
โค้ดของเราเปลี่ยนชื่อไฟล์ รายการไฟล์ใหม่ในไดเรกทอรี:
- old_data.csv
- old_raw_data.csv
- old_program.py
มาวิเคราะห์โค้ด ก่อนอื่น นำเข้า os เพื่อใช้ os.rename() และ os.listdir() จากนั้นสร้างลูป for วนผ่านรายการไฟล์ทั้งหมดในโฟลเดอร์ /home/career_karma รายการนี้สร้างโดย os.listdir()
จากนั้นโค้ดใช้ os.rename() เปลี่ยนชื่อแต่ละไฟล์ในโฟลเดอร์ /home/career_karma เราใช้ Python f-string แทนที่ชื่อไฟล์แต่ละตัวด้วย /home/career_karma/old_{FILE_NAME} โดย FILE_NAME คือชื่อไฟล์เก่า
มองเห็นได้ว่า old_ ถูกเพิ่มนำหน้าทุกไฟล์ในโฟลเดอร์ /home/career_karma
สรุป
เมธอด os.rename() อนุญาตให้คุณเปลี่ยนชื่อไฟล์ใน Python เมื่อใช้กับ os.listdir() คุณสามารถใช้ os.rename() เปลี่ยนชื่อไฟล์ทั้งหมดในโฟลเดอร์ได้
บทช่วยสอนนี้อธิบายพื้นฐานของโมดูล os และวิธีใช้ os.rename() พร้อมตัวอย่าง ตอนนี้คุณพร้อมใช้ os.rename() เปลี่ยนชื่อไฟล์อย่างมืออาชีพแล้ว!
ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนโค้ด Python? ดูคู่มือ How to Learn Python จะพบทีปส์ชั้นนำและรายการแหล่งทรัพยากรการเรียนรู้ที่ผู้เชี่ยวชาญคัดสรรมา