วิธี Python shutil.move() จะย้ายไฟล์ไปยังตำแหน่งอื่นบนคอมพิวเตอร์ของคุณ วิธีนี้เป็นส่วนหนึ่งของโมเดล Shutil ซึ่งคุณต้องนำเข้าก่อนที่จะใช้วิธีนี้
การย้ายไฟล์เป็นการดำเนินการทั่วไปในโปรแกรม Python ตัวอย่างเช่น สมมติว่าคุณกำลังสร้างโปรแกรมที่สร้างไฟล์ คุณอาจต้องการย้ายไฟล์ที่มีอยู่ทั้งหมดจากโฟลเดอร์ที่อื่น เพื่อให้มีที่ว่างสำหรับไฟล์ใหม่ที่คุณต้องการสร้าง
นั่นคือสิ่งที่ shutil.move() ฟังก์ชั่นเข้ามา shutil.move() ฟังก์ชันช่วยให้คุณสามารถย้ายไฟล์จากโฟลเดอร์หนึ่งไปยังอีกโฟลเดอร์หนึ่งในระบบของคุณได้ บทแนะนำนี้จะกล่าวถึงวิธีการใช้ shutil.move() โดยอ้างอิงจากตัวอย่าง ฟังก์ชันเพื่อย้ายรหัสของคุณ
Python Shutil
โมดูล Shutil มีการดำเนินการระดับสูงมากมายที่คุณสามารถดำเนินการกับไฟล์ได้ ต่างจากไลบรารีของระบบปฏิบัติการ Shutil มาพร้อมกับฟังก์ชันที่สามารถดำเนินการกับคอลเลกชันของไฟล์ได้
สำหรับบทช่วยสอนนี้ เราจะเน้นที่ shutil.move() ซึ่งช่วยให้เราย้ายไฟล์โดยใช้ Python ได้
ก่อนที่เราจะสำรวจ move() ฟังก์ชัน เราต้องนำเข้าไลบรารี Shutil ลงในโค้ดของเราก่อน เราสามารถทำได้โดยใช้คำสั่งนำเข้า Python นี้:
import shutil
ไฟล์ย้าย Python
shutil.move() ฟังก์ชั่นย้ายไฟล์บนคอมพิวเตอร์ของคุณ เมธอดนี้ยอมรับพาธไฟล์ของไฟล์ที่คุณต้องการย้ายและพาธไฟล์ใหม่เป็นอาร์กิวเมนต์
ไวยากรณ์สำหรับฟังก์ชันนี้มีดังต่อไปนี้:
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
shutil.move(source, destination)
shutil.move() ยอมรับพารามิเตอร์สองตัวคือ:
- เส้นทางต้นทาง :เส้นทางไฟล์ของไฟล์ที่คุณต้องการย้าย
- เส้นทางปลายทาง :เส้นทางของไฟล์ที่คุณต้องการย้ายไฟล์ของคุณ
ย้าย() ฟังก์ชั่นส่งคืนเส้นทางของไฟล์ที่คุณย้าย
หากปลายทางของคุณตรงกับไฟล์อื่น ไฟล์ที่มีอยู่จะถูกเขียนทับ
เส้นทางของไฟล์ที่คุณระบุสามารถเป็นแบบสัมบูรณ์หรือแบบสัมพัทธ์ได้
เส้นทางไฟล์สัมบูรณ์เป็นเส้นทางที่สมบูรณ์ซึ่งนำไปสู่ไฟล์โดยตรง (เช่น /home/career_karma/file.txt ). เส้นทางของไฟล์สัมพัทธ์หมายถึงตำแหน่งที่สัมพันธ์กับไดเร็กทอรีที่โปรแกรม Python ของคุณกำลังทำงานอยู่ (เช่น file.txt )
หากคุณระบุไดเร็กทอรีปลายทางที่ไม่มีอยู่ ไดเร็กทอรีใหม่จะถูกสร้างขึ้น
ไลบรารี os มี os.rename() วิธีที่มักใช้ในการเปลี่ยนชื่อไฟล์ วิธีนี้สามารถย้ายไฟล์ได้ แต่วิธี Shutil ได้รับการออกแบบมาโดยเฉพาะสำหรับการย้ายไฟล์ ไวยากรณ์ shutil.move() เข้าใจง่ายกว่า os.rename() หากคุณกำลังย้ายไฟล์.
ตัวอย่างการย้ายไฟล์ Python
มาสำรวจตัวอย่างวิธีการใช้ฟังก์ชัน shutil.move() กัน
ย้ายไฟล์เดียว
สมมติว่าเรามีไฟล์ชื่อ raw_data.csv ซึ่งเราต้องการย้ายไปยังไดเร็กทอรีชื่อ data ในไดเร็กทอรีการทำงานปัจจุบันของเรา เราสามารถทำได้โดยใช้รหัสนี้:
import shutil source = "raw_data.csv" destination = "data" new_path = shutil.move(source, destination) print(new_path)
รหัสของเราส่งคืน:
data/raw_data.csv
ขั้นแรก เราได้นำเข้าไลบรารีของShutil ต่อไป เราได้ประกาศตัวแปร Python สองตัว แหล่งที่มา ตัวแปรเก็บชื่อไฟล์ที่เราต้องการย้าย ปลายทางของเรา ตัวแปรเก็บชื่อของไดเร็กทอรีที่เราต้องการย้ายไฟล์ของเรา
ในตัวอย่างนี้ เราได้ระบุเส้นทางของไฟล์ที่เกี่ยวข้องสำหรับต้นทางและปลายทางของเรา ซึ่งหมายความว่าไฟล์ raw_data.csv และไดเร็กทอรี data อ้างถึงที่อยู่ในไดเร็กทอรีเดียวกันกับไฟล์ Python ของเรา หากไฟล์ Python ของเราถูกเก็บไว้ใน /home/career_karma/program ไฟล์และไดเร็กทอรีที่เราอ้างอิงจะเป็นไฟล์ที่จัดเก็บไว้ในไดเร็กทอรีนั้น
ต่อไป เราใช้ shutil.move() เพื่อย้ายไฟล์ของเรา เรากำหนดผลลัพธ์ของการดำเนินการ — เส้นทางของไฟล์ที่ย้าย — ให้กับตัวแปร new_path . ต่อไปเราจะพิมพ์ค่าของ new_path ซึ่งส่งคืนเส้นทางของไฟล์ใหม่ของเรา
เราย้ายไฟล์ใน Python สำเร็จแล้ว
หมายเหตุ: ไวยากรณ์เดียวกันกับที่เราเคยย้ายไฟล์สามารถใช้เพื่อย้ายโฟลเดอร์ได้
ย้ายไฟล์และเปลี่ยนชื่อ
shutil.move() ฟังก์ชันช่วยให้คุณเปลี่ยนชื่อไฟล์ได้เมื่อย้ายไฟล์แล้ว
สมมติว่าเราต้องการย้าย raw_data.csv ลงในโฟลเดอร์ชื่อ data และเปลี่ยนชื่อไฟล์ของเราเป็น raw_data_2019.csv . เราสามารถทำได้โดยใช้รหัสนี้:
import shutil source = "raw_data.csv" destination = "data/raw_data_2019.csv" new_path = shutil.move(source, destination) print(new_path)
รหัสของเราส่งคืน:
data/raw_data_2019.csv
เมื่อเราระบุปลายทางสำหรับไฟล์ใหม่ เรายังระบุชื่อใหม่สำหรับไฟล์ของเราด้วย เราระบุปลายทาง data/raw_data_2019.csv. ซึ่งหมายความว่าเมื่อไฟล์ของเราถูกย้าย ไฟล์นั้นจะถูกย้ายไปยัง data ไดเร็กทอรี ไฟล์ใหม่จะได้รับชื่อ raw_datra_2019.csv .
ย้ายหลายไฟล์
นอกจากนี้เรายังสามารถใช้ shutil.move() ฟังก์ชันย้ายไฟล์หลายไฟล์ ในการทำเช่นนั้น เราจะอ้างอิงไลบรารีระบบปฏิบัติการด้วย เราสามารถใช้ os.listdir() วิธีรับรายการไฟล์ในไดเร็กทอรี
สมมติว่าเราต้องการย้ายไฟล์ทั้งหมดใน /home/career_karma/data ไดเร็กทอรีไปยังไดเร็กทอรีใหม่ชื่อ /home/career_karma/old_data . ข้อมูล ไดเร็กทอรีประกอบด้วยไฟล์ต่อไปนี้:
- /home/career_karma/data/data.csv
- /home/career_karma/data/old_data.csv
เราสามารถทำได้โดยใช้รหัสนี้:
import shutil import os source = "/home/career_karma/data" destination = "/home/career_karma/old_data" files = os.listdir(source) for file in files: new_path = shutil.move(f"{source}/{file}", destination) print(new_path)
รหัสของเราส่งคืน:
/home/career_karma/old_data/data.csv /home/career_karma/old_data/old_data.csv
มาทำลายรหัสของเรากัน ขั้นแรก เรานำเข้าไลบรารีของ shutil และ os ลงในโปรแกรมของเรา จากนั้น เราระบุเส้นทางที่แน่นอนสำหรับโฟลเดอร์ที่มีเนื้อหาที่เราต้องการย้าย นอกจากนี้เรายังระบุเส้นทางสำหรับปลายทางที่ควรย้ายเนื้อหาของโฟลเดอร์ของเรา
ต่อไป เราใช้ os.listdir() เพื่อดึงรายการไฟล์ทั้งหมดในโฟลเดอร์ที่มีเนื้อหาที่เราต้องการย้าย เราใช้ Python for วนซ้ำผ่านแต่ละไฟล์เหล่านี้ จากนั้น เราใช้ shutil.move() เพื่อย้ายแต่ละไฟล์ไปยัง ปลายทาง . ของเรา โฟลเดอร์
ใน move() . ของเรา เราใช้สตริง f เพื่อระบุพาธไฟล์แบบเต็มสำหรับไฟล์ที่เราต้องการย้าย รหัสของเราแสดงเส้นทางไฟล์ของไฟล์ที่เพิ่งย้ายใหม่
บทสรุป
shutil.move() ฟังก์ชั่นย้ายไฟล์จากที่หนึ่งไปยังอีกที่หนึ่งบนคอมพิวเตอร์ของคุณ คุณต้องระบุเส้นทางของไฟล์ที่คุณต้องการย้ายรวมทั้งเส้นทางใหม่สำหรับไฟล์
คุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเข้ารหัสใน Python หรือไม่? ดูคู่มือ How to Learn Python ของเรา คุณจะพบคำแนะนำจากผู้เชี่ยวชาญเกี่ยวกับวิธีการเรียนรู้ Python ในคู่มือนี้ คู่มือของเรายังมีรายการแหล่งข้อมูลการเรียนรู้ชั้นนำที่จะช่วยให้คุณเพิ่มพูนความรู้