Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ไฟล์ย้าย Python:คู่มือฉบับสมบูรณ์

วิธี 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 ในคู่มือนี้ คู่มือของเรายังมีรายการแหล่งข้อมูลการเรียนรู้ชั้นนำที่จะช่วยให้คุณเพิ่มพูนความรู้