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

โมดูล OS Path ใน Python


โมดูล os.path เป็นโมดูลที่ใช้กันอย่างแพร่หลาย ซึ่งสะดวกเมื่อประมวลผลไฟล์จากที่ต่างๆ ในระบบ มันถูกใช้เพื่อวัตถุประสงค์ที่แตกต่างกัน เช่น สำหรับการผสาน การทำให้เป็นมาตรฐาน และการดึงชื่อพาธใน python ฟังก์ชันทั้งหมดเหล่านี้ยอมรับเฉพาะไบต์หรือวัตถุสตริงเท่านั้นเป็นพารามิเตอร์ ผลลัพธ์มีความเฉพาะเจาะจงสำหรับระบบปฏิบัติการที่กำลังรันอยู่

os.path.basename

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

ตัวอย่าง

import os
# In windows
fldr = os.path.basename("C:\\Users\\xyz\\Documents\\My Web Sites")
print(fldr)
file = os.path.basename("C:\\Users\\xyz\\Documents\\My Web Sites\\intro.html")
print(file)
# In nix*
fldr = os.path.basename("/Documents/MyWebSites")
print(fldr)
file = os.path.basename("/Documents/MyWebSites/music.txt")
print(file)

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

ผลลัพธ์

My Web Sites
intro.html
MyWebSites
music.txt

os.path.dirname

ฟังก์ชันนี้จะให้ชื่อไดเร็กทอรีที่โฟลเดอร์หรือไฟล์นั้นอยู่

ตัวอย่าง

import os
# In windows
DIR = os.path.dirname("C:\\Users\\xyz\\Documents\\My Web Sites")
print(DIR)
# In nix*
DIR = os.path.dirname("/Documents/MyWebSites")
print(DIR)

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

ผลลัพธ์

C:\Users\xyz\Documents
/Documents

os.path.isfile

บางครั้งเราอาจต้องตรวจสอบว่าเส้นทางทั้งหมดที่ระบุหมายถึงโฟลเดอร์หรือไฟล์ หากไม่มีไฟล์อยู่ ไฟล์นั้นจะให้ผลลัพธ์เป็นเท็จ หากไฟล์นั้นมีอยู่ ผลลัพธ์จะเป็น True

ตัวอย่าง

print(IS_FILE)
IS_FILE = os.path.isfile("C:\\Users\\xyz\\Documents\\My Web Sites\\intro.html")
print(IS_FILE)
# In nix*
IS_FILE = os.path.isfile("/Documents/MyWebSites")
print(IS_FILE)
IS_FILE = os.path.isfile("/Documents/MyWebSites/music.txt")
print(IS_FILE)

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

ผลลัพธ์

False
True
False
True

os.path.normpath

นี่เป็นฟังก์ชันที่น่าสนใจซึ่งจะทำให้เส้นทางที่กำหนดเป็นมาตรฐานโดยกำจัดเครื่องหมายทับพิเศษหรือเปลี่ยนแบ็กสแลชเป็นสแลชไปข้างหน้าขึ้นอยู่กับระบบปฏิบัติการที่เป็น ดังที่คุณเห็นผลลัพธ์ด้านล่างแตกต่างกันไปขึ้นอยู่กับระบบปฏิบัติการที่คุณใช้โปรแกรม

ตัวอย่าง

import os
# Windows path
NORM_PATH = os.path.normpath("C:/Users/Pradeep/Documents/My Web Sites")
print(NORM_PATH)
# Unix Path
NORM_PATH = os.path.normpath("/home/ubuuser//Documents/")
print(NORM_PATH)

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

ผลลัพธ์

# Running in Windows
C:\Users\Pradeep\Documents\My Web Sites
\home\ubuuser\Documents

# Running in Linux
C:/Users/Pradeep/Documents/My Web Sites
/home/ubuuser/Documents