เมธอด 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