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

Python os.path.join:A Beginner's Guide

เมธอด Python os.path.join รวมชื่อพาธตั้งแต่หนึ่งชื่อขึ้นไปเป็นพาธเดียว วิธีนี้มักใช้กับวิธี os เช่น os.walk() เพื่อสร้างเส้นทางสุดท้ายสำหรับไฟล์หรือโฟลเดอร์ os.path.join() เพิ่มเครื่องหมายทับที่จำเป็นลงในชื่อพาธของไฟล์โดยอัตโนมัติ

วิธีใช้ Python os.path.join

คุณอาจติดอยู่ในเส้นทางวงกตเมื่อคุณทำงานกับไฟล์ใน Python

ในการทำงานกับไฟล์ คุณต้องระบุไดเร็กทอรีที่ไฟล์นั้นจะปรากฏขึ้น นี้ง่ายกว่าเสียง หากคุณไม่ระบุเส้นทางที่ถูกต้อง โปรแกรมของคุณจะไม่ทำงาน

ในคู่มือนี้ เราจะพูดถึง os.path.join นี่เป็นวิธีการที่รวมส่วนประกอบของพาธไฟล์เป็นพาธที่สมบูรณ์ เราจะอธิบายตัวอย่าง 2 ตัวอย่างเพื่อช่วยให้คุณเริ่มต้นวิธีนี้

อะไรอยู่ในเส้นทางของไฟล์

เส้นทางของไฟล์คือลำดับของชื่อไฟล์และโฟลเดอร์ ลำดับชื่อนี้จะนำคุณไปยังตำแหน่งหนึ่งในระบบปฏิบัติการ (OS) ของคอมพิวเตอร์ของคุณ

ลองใช้เส้นทางต่อไปนี้เป็นตัวอย่าง:

/Users/James/tutorials

เส้นทางนี้จะพาเราไปยังโฟลเดอร์ที่เรียกว่า "บทช่วยสอน" หากเราต้องการเข้าถึงไฟล์หรือไดเร็กทอรีเฉพาะในโฟลเดอร์นี้ เราสามารถชี้ไปที่ไฟล์นั้นโดยใช้ชื่อไฟล์:

/Users/James/tutorials/README.md

คุณสามารถเขียนพาธไฟล์เหล่านี้ด้วยตนเองใน Python การทำเช่นนั้นอาจทำไม่ได้ นั่นคือที่มาของ os.path.join

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

Python os.path.join คืออะไร

os.path.join รวมชื่อพาธไว้ในพาธเดียว ซึ่งหมายความว่าคุณสามารถรวมส่วนต่างๆ ของพาธให้เป็นหนึ่งเดียว แทนที่จะต้องฮาร์ดโค้ดทุกชื่อพาธด้วยตนเอง

ในการใช้ฟังก์ชันนี้ คุณต้องนำเข้าไลบรารี os ลงในโค้ดของคุณ:

import os

มาดูไวยากรณ์ของเมธอด os.path.join() กัน ฟังก์ชัน os.path.join ยอมรับรายการพาธที่คุณต้องการรวมเป็นหนึ่ง:

os.path.join(path1, path2...)

path1, path2 และค่าที่ตามมาทั้งหมดแสดงถึงเส้นทางที่คุณต้องการรวมเป็นชื่อเดียว

path = os.path.join("/Users/James/tutorials", "index.html")
print(path)

รหัสนี้ส่งคืน:/Users/James/tutorials/index.html วิธีการ os.path.join จะดำเนินต่อไปจากองค์ประกอบพาธแบบสัมบูรณ์ที่เราได้ระบุไว้ (“/Users/James/tutorials”) เราเพิ่ม index.html ที่ส่วนท้ายของเส้นทาง

อย่างสะดวก วิธี os.path.join จะแทรกเครื่องหมายทับ (ซึ่งเรียกว่า "ตัวคั่นไดเรกทอรี") เมื่อจำเป็น ทำให้เป็นวิธีที่สะดวกกว่าในการรวมชื่อพาธของไฟล์มากกว่าการต่อกันด้วยตนเอง

os.path.join ตัวอย่าง Python

มาเขียนรวมชื่อไฟล์ “index.html” ในโฟลเดอร์ “tutorials/web/” กัน ไฟล์นี้อยู่ในไดเร็กทอรีการทำงานปัจจุบันของเรา

เราจะเริ่มต้นด้วยการนำเข้าไลบรารีระบบปฏิบัติการ:

import os

ต่อไป เราจะได้ไดเร็กทอรีการทำงานปัจจุบันของเราเพื่อเพิ่มชื่อพาธของไฟล์เข้าไป:

cwd = os.getcwd()

ส่งคืนไดเร็กทอรีการทำงานปัจจุบันของเรา ซึ่งก็คือ /Users/James/tutorials โฟลเดอร์ "บทช่วยสอน" อยู่ในโฮมไดเร็กทอรีของผู้ใช้ของเรา เราสามารถใช้ข้อมูลนี้เพื่อเพิ่ม “บทช่วยสอน/เว็บ” ต่อท้ายไดเร็กทอรีการทำงานของเรา:

web_tutorials = os.path.join(cwd, "tutorials/web")
print(web_tutorials)

รหัสนี้ส่งคืน:/Users/James/tutorials/web. รหัสของเราได้รวมองค์ประกอบชื่อพาธของเราเป็นหนึ่งเดียว เพิ่มเครื่องหมายทับ (“/”) ระหว่างชื่อเส้นทางของเรา เส้นทางนี้หมายถึงโฟลเดอร์ "เว็บ" ในเส้นทางที่มีอยู่ของเรา

Python os.path.join:รายการไฟล์

ลองใช้เมธอด os.path.join เพื่อส่งคืนพาธไฟล์แบบเต็มของไฟล์ทั้งหมดในโฟลเดอร์ เราจะแสดงรายการไฟล์ทั้งหมดในโฟลเดอร์ "เดสก์ท็อป" ในระบบไฟล์ของเรา โฟลเดอร์นี้อยู่ในไดเร็กทอรี “/Users/James/” บนไดรฟ์

เราจะเริ่มต้นด้วยการนำเข้าไลบรารี os และกำหนดไดเร็กทอรีที่เราต้องการค้นหา:

import os

cwd = os.getcwd()
desktop = os.path.join(cwd, "Desktop")

รหัสนี้สร้างเส้นทางของไฟล์สำหรับโฟลเดอร์เดสก์ท็อปที่สัมพันธ์กับไดเร็กทอรีการทำงานปัจจุบันของเรา ต่อไป เราสามารถใช้วิธี Python os.listdir() เพื่อดึงรายการไฟล์ทั้งหมดในโฟลเดอร์นี้:

files = os.listdir(desktop)

เมธอดนี้ส่งคืนรายชื่อของไฟล์ทั้งหมดที่ปรากฏในโฟลเดอร์เดสก์ท็อป ไม่รวมพาธของไฟล์ ตอนนี้เรามีรายชื่อไฟล์แล้ว เราสามารถพิมพ์ไฟล์ทั้งหมดไปที่คอนโซลได้ เราจะพิมพ์พาธไฟล์แบบเต็มสำหรับแต่ละไฟล์โดยใช้ os.path.join และ Python for loop:

for f in files:
	print(os.path.join(desktop, f))

รหัสนี้วนซ้ำทุกไฟล์ในโฟลเดอร์เดสก์ท็อป รวมชื่อของแต่ละไฟล์เข้ากับชื่อพาธของโฟลเดอร์เดสก์ท็อป รหัสของเราส่งคืน:

/Users/James/Desktop/.DS_Store
/Users/James/Desktop/Notes.md
/Users/James/Desktop/To-dos.md

เดสก์ท็อปของฉันมีไฟล์สามไฟล์:.DS_Store, Notes.md และ To-dos.md เราใช้ os.path.join() เพื่อสร้างเส้นทางแบบเต็มของแต่ละไฟล์

บทสรุป

เมธอด os.path.join รวมส่วนประกอบในชื่อพาธเพื่อสร้างชื่อพาธแบบเต็ม

วิธีนี้ทำให้ง่ายต่อการรวมส่วนประกอบตั้งแต่สององค์ประกอบขึ้นไปของชื่อพาธเข้าด้วยกัน Os.path.join จะแทรกเครื่องหมายทับ (“/”) ลงในชื่อพาธโดยอัตโนมัติเมื่อจำเป็น

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับภาษาการเขียนโปรแกรม Python โปรดดูคู่มือ How to Learn Python