วิธี Python os.mkdir() สร้างไดเร็กทอรีว่างบนระบบไฟล์ของคุณ คุณไม่สามารถใช้วิธีนี้เพื่อสร้างโฟลเดอร์ในโฟลเดอร์ที่ไม่มีอยู่ เมธอด os.mkdirs() จะสร้างไดเร็กทอรีว่างซ้ำๆ
ไฟล์ช่วยให้คุณสามารถจัดเก็บข้อมูลนอกโปรแกรมที่โปรแกรมสามารถอ้างอิงได้ในอนาคต เมื่อคุณทำงานกับไฟล์ คุณอาจตัดสินใจสร้างไดเร็กทอรีใหม่ที่ควรจัดเก็บไฟล์
นั่นคือที่มาของโมดูล Python os โมดูล os มีสองวิธีที่เรียกว่า os.mkdir() และ os.mkdirs() ซึ่งใช้สร้างไดเร็กทอรีในภาษา Python ได้
บทช่วยสอนนี้จะสำรวจวิธีสร้างไดเรกทอรีใน Python โดยใช้ os.mkdir() และ os.mkdirs() วิธีการ เราจะใช้ตัวอย่างบางส่วนเพื่อแสดงให้เห็นว่าวิธีการเหล่านี้ทำงานอย่างไร
Python os ทบทวน
ก่อนที่คุณจะสามารถทำงานกับไฟล์ใน Python คุณต้องนำเข้าโมดูลระบบปฏิบัติการ โมดูลระบบปฏิบัติการมีอยู่ใน Python มีหลายวิธีที่สามารถใช้เพื่อเชื่อมต่อกับระบบปฏิบัติการพื้นฐานของคอมพิวเตอร์
ในกรณีนี้ เราสนใจวิธีการระบบไฟล์ของโมดูล os ซึ่งสามารถใช้เพื่อทำงานกับไฟล์ได้ เราสามารถใช้คำสั่งนำเข้า Python เพื่อนำเข้าระบบปฏิบัติการเข้าสู่โปรแกรมของเรา:
Python สร้างไดเรกทอรี
os.mkdir() สามารถใช้เมธอดเพื่อสร้างไดเร็กทอรีเดียว ตัวอย่างเช่น หากเรากำลังสร้างโปรแกรมที่ต้องการโฟลเดอร์ใหม่เพื่อเก็บผลลัพธ์ เราจะใช้ os.mkdir() .
ไวยากรณ์สำหรับ os.mkdir() วิธีการมีดังนี้:
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
os.mkdir(path, access)
os.mkdir() ฟังก์ชันใช้พารามิเตอร์สองตัว:
- เส้นทาง คือพาธไฟล์ที่คุณต้องการสร้างไดเร็กทอรีของคุณ (จำเป็น)
- การเข้าถึง หมายถึงสิทธิ์การเข้าถึงที่คุณต้องการให้ไดเรกทอรีของคุณ (ตัวเลือก)
Python os.mkdir() ตัวอย่าง
มาสำรวจตัวอย่างเพื่อแสดงวิธีใช้ os.mkdir() วิธีการ
สมมติว่าเรากำลังสร้างโปรแกรมที่วิเคราะห์รายการคะแนนสอบของนักเรียนคณิตศาสตร์ โปรแกรมนี้เก็บว่านักเรียนแต่ละคนผ่านการทดสอบล่าสุดหรือไม่
ในการเริ่มต้น เราต้องการสร้างไดเร็กทอรีที่จะจัดเก็บข้อมูลของเรา เพื่อให้แน่ใจว่าข้อมูลของเราจะแยกออกจากส่วนที่เหลือของโปรแกรม
นี่คือรหัสที่เราสามารถใช้เพื่อสร้างไดเร็กทอรีสำหรับข้อมูลของเรา:
import os path = "/home/school/math/grades/final" os.mkdir(path) print("/home/school/math/grades/final has been created.")
รหัสของเราสร้างไดเร็กทอรีใหม่ชื่อว่า final ใน /home/school/math/grades โฟลเดอร์ในระบบปฏิบัติการของเรา จากนั้นจะส่งคืนข้อความ:
/home/school/math/grades/final has been created.
mkdir() สามารถใช้เมธอดเพื่อสร้างไดเร็กทอรีครั้งละหนึ่งไดเร็กทอรีเท่านั้น เราไม่สามารถสร้างโฟลเดอร์ชื่อ final แล้วสร้างโฟลเดอร์ภายใน สุดท้าย เรียกว่า มกราคม2563
os.mkdir() ตัวอย่างการอนุญาต
เราสามารถใช้ตัวเลือก การเข้าถึง พารามิเตอร์เพื่อระบุการอนุญาตที่เราต้องการให้ไดเร็กทอรีของเรามี โดยค่าเริ่มต้น สิทธิ์การเข้าถึงไดเรกทอรี mkdir() สร้างคือ 777 ซึ่งหมายความว่าไดเร็กทอรีสามารถอ่านและเขียนได้โดยเจ้าของและผู้ใช้อื่น ๆ ทั้งหมด
แต่ถ้าเราต้องการตั้งค่าการอนุญาตของเราเองล่ะ
สมมติว่าครูหลายคนสามารถเข้าถึงระบบปฏิบัติการของเราได้ และเราเพียงต้องการให้สิทธิ์ในการเขียนแก่เจ้าของเท่านั้น เราจำเป็นต้องใช้การอนุญาต 755 การอนุญาตนี้ระบุว่าไฟล์สามารถอ่านและเข้าถึงได้โดยผู้ใช้ทุกคน แต่มีเพียงเจ้าของเท่านั้นที่สามารถเขียนถึงไฟล์ได้
นี่คือรหัสที่เราสามารถใช้เพื่อสร้างไดเร็กทอรีการทำงานที่มีสิทธิ์ที่กำหนดเอง:
import os path = "/home/school/math/grades/final" access = 0o755 os.mkdir(path, access) print("/home/school/math/grades/final has been created.")
เราได้สร้างไดเรกทอรีเป้าหมายชื่อ /home/school/math/grades/final ไดเร็กทอรีนี้มีสิทธิ์การเข้าถึง 755 ซึ่งหมายความว่าผู้ใช้ทุกคนสามารถอ่านไฟล์ของเราได้ แต่มีเพียงเจ้าของเท่านั้นที่สามารถเขียนลงในไฟล์ได้ จากนั้นโปรแกรมของเราพิมพ์ข้อความ:
/home/school/math/grades/final has been created.
สิ่งสำคัญคือต้องทราบว่าการเข้าถึง .ของเรา ตัวแปรเท่ากับ 0o755 ในรหัสของเรา เราทำสิ่งนี้เนื่องจากสิทธิ์การเข้าถึงใช้ส่วนนำหน้าฐานแปด ดังนั้นเราจึงจำเป็นต้องระบุ 0o ก่อนพารามิเตอร์การเข้าถึงของเรา
หากต้องการเรียนรู้วิธีตรวจสอบว่ามีไฟล์หรือไดเร็กทอรีอยู่หรือไม่ โปรดดูบทแนะนำเกี่ยวกับการตรวจสอบว่าไฟล์มีอยู่ใน Python หรือไม่
Python สร้างหลายไดเร็กทอรี
งูหลาม os.makedirs() วิธีการสร้างโฟลเดอร์ซ้ำ ๆ คุณสามารถใช้วิธีนี้เพื่อสร้างโฟลเดอร์ภายในโฟลเดอร์ที่ไม่มีอยู่ os.mkdirs() ยอมรับหนึ่งอาร์กิวเมนต์:เส้นทางของโฟลเดอร์ที่คุณต้องการสร้าง
มาดูไวยากรณ์ของ os.mkdirs():
os.mkdirs(path, access)
เมธอดนี้ยอมรับอาร์กิวเมนต์เดียวกันกับ os.mkdir()
Python os.mkdirs() ตัวอย่าง
มักมีกรณีที่เราต้องสร้างไดเร็กทอรีที่มีอยู่ในไดเร็กทอรีใหม่อื่น
ตัวอย่างเช่น สมมติว่าเรากำลังสร้างโปรแกรมที่เก็บข้อมูลคะแนนการทดสอบของนักเรียนคณิตศาสตร์ แทนที่จะจัดเก็บข้อมูลทั้งหมดไว้ในโฟลเดอร์เดียว เราสามารถจัดเก็บข้อมูลในหลายโฟลเดอร์ได้
แต่ละโฟลเดอร์จะสอดคล้องกับปีและเดือนของการทดสอบ การจัดเก็บข้อมูลในลักษณะนี้จะช่วยให้ค้นหาไฟล์ของเราได้ง่ายขึ้นว่าเมื่อใดและเมื่อใดที่เราต้องการอ้างอิงกลับไป
ลองใช้ตัวอย่างการทดสอบคณิตศาสตร์ของโรงเรียนของเราเพื่อแสดงให้เห็นว่า os.makedirs() วิธีการทำงาน
ข้อกำหนดของโปรแกรมของเรามีการเปลี่ยนแปลง ตอนนี้เราต้องการจัดเก็บข้อมูลในโฟลเดอร์โดยขึ้นอยู่กับปีและเดือนของการทดสอบ เราสามารถทำงานนี้ให้สำเร็จโดยใช้รหัสต่อไปนี้:
import os path = "/home/school/math/grades/2020/02" access = 0o755 os.mkdir(path, access) print("/home/school/math/grades/2020/02 has been created.")
สมมุติว่าเรายังไม่มี 2020 โฟลเดอร์หรือ 02 โฟลเดอร์ รหัสนี้จะสร้าง 2020 . ก่อน โฟลเดอร์ จากนั้นจะสร้างโฟลเดอร์ชื่อ 02 ภายใน 2020 . เรากำหนดสิทธิ์การเข้าถึงโฟลเดอร์นี้ 755
หลังจากที่โปรแกรมของเราสร้างโฟลเดอร์ขึ้นมา มันจะพิมพ์ข้อความ:
สร้าง/home/school/math/grades/2020/02 has been created.
บทสรุป
การสร้างไดเร็กทอรีเป็นการดำเนินการทั่วไปใน Python เมื่อคุณทำงานกับไฟล์ os.mkdir() สามารถใช้เมธอดเพื่อสร้างไดเร็กทอรีเดียว และ os.makedirs() สามารถใช้เมธอดเพื่อสร้างไดเร็กทอรีหลายระดับได้
บทช่วยสอนนี้กล่าวถึงวิธีใช้ทั้ง os.mkdir() และ os.makedirs() เพื่อสร้างโฟลเดอร์ใน Python นอกจากนี้เรายังได้สำรวจตัวอย่างการทำงานของแต่ละวิธีเหล่านี้ด้วย
คุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Python หรือไม่? ดูคู่มือ How to Learn Python ฉบับสมบูรณ์สำหรับคำแนะนำจากผู้เชี่ยวชาญและคำแนะนำในการเรียนรู้ภาษาการเขียนโปรแกรมนี้