โมดูลระบบปฏิบัติการของ Python คืออะไรและคุณใช้งานอย่างไร

โมดูลระบบปฏิบัติการของ Python คืออะไรและคุณใช้งานอย่างไร

โมดูล OS ใน Python ให้การเข้าถึงฟังก์ชันเฉพาะระบบสำหรับการจัดการกับระบบไฟล์ กระบวนการ ตัวกำหนดเวลา ฯลฯ คุณต้องเชี่ยวชาญระบบ Python OS สำหรับการเขียนแอปพลิเคชันที่จัดการกับปัญหาในโลกแห่งความเป็นจริง คู่มือนี้จะกล่าวถึงแนวคิดหลักบางประการและแสดงวิธีใช้คำสั่งระบบ Python





คุณสมบัติของ Python OS System

ระบบปฏิบัติการทำหน้าที่เป็นวิธีการโต้ตอบกับระบบปฏิบัติการพื้นฐานแบบพกพา เสนอการเข้าถึงชื่อไฟล์ อาร์กิวเมนต์บรรทัดคำสั่ง ตัวแปรสภาพแวดล้อม พารามิเตอร์กระบวนการ และลำดับชั้นของระบบไฟล์ควบคู่ไปกับฟังก์ชันอื่นๆ





โมดูลนี้ยังประกอบด้วยโมดูลย่อยสองโมดูล ได้แก่ โมดูล os.sys และโมดูล os.path คุณสามารถใช้ฟังก์ชันต่างๆ ที่มีให้โดยโมดูล OS เพื่อทำงานต่างๆ ได้มากมาย การใช้งานทั่วไปบางอย่างรวมถึงการรันคำสั่งเชลล์ การจัดการไฟล์และไดเร็กทอรี กระบวนการวางไข่ ฯลฯ





เริ่มต้นใช้งานโมดูลระบบปฏิบัติการ

วิธีที่ง่ายที่สุดในการสำรวจโมดูล OS คือการใช้ล่าม คุณสามารถนำเข้าโมดูลที่นั่นและใช้ฟังก์ชันของระบบโดยไม่ต้องเขียนซอร์สโค้ด คุณต้องติดตั้ง Python สำหรับสิ่งนี้ ดังนั้นไปข้างหน้าและติดตั้ง Python บนเครื่องของคุณ

ที่เกี่ยวข้อง: วิธีการติดตั้ง Python บน Ubuntu



เริ่มล่ามโดยพิมพ์ หลาม ในเทอร์มินัลหรือเชลล์คำสั่งของคุณ เมื่อเปิดแล้ว ให้นำเข้าโมดูล OS โดยใช้คำสั่งต่อไปนี้

วิธีตรวจจับกล้องที่ซ่อนอยู่ด้วยโทรศัพท์มือถือ
>>> import os

ตอนนี้คุณสามารถเข้าถึงฟังก์ชันต่างๆ ที่มีให้โดยโมดูล OS รวมถึง Python ระบบ สั่งการ. ตัวอย่างเช่น คุณสามารถกำหนดแพลตฟอร์มระบบโดยใช้คำสั่ง ชื่อ สั่งการ. ตัวอย่างด้านล่างแสดงวิธีการเรียกใช้คำสั่งระบบที่เปิดเผยโดยโมดูล OS





>>> os.name

ฟังก์ชันนี้จะตรวจสอบว่ามีโมดูลเฉพาะของระบบปฏิบัติการอยู่หรือไม่ และพิจารณาแพลตฟอร์มตามนั้น ใช้ uname ฟังก์ชันเพื่อรับข้อมูลโดยละเอียด

>>> os.uname()

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





>>> os.getcwd()

คุณสามารถเปลี่ยนไดเร็กทอรีการทำงานได้อย่างง่ายดายโดยใช้คำสั่งระบบ Python chdir . ส่งตำแหน่งใหม่เป็นพารามิเตอร์สตริง

>>> os.chdir('/tmp')

NS mkdir การทำงานของโมดูล OS ทำให้การสร้างไดเร็กทอรีใหม่ตรงไปตรงมา นอกจากนี้ยังช่วยให้เราสร้างโฟลเดอร์แบบเรียกซ้ำ ซึ่งหมายความว่า Python จะสร้างไดเร็กทอรีที่ขาดหายไปทั้งหมดซึ่งเป็นพาเรนต์ไปยังไดเร็กทอรีลีฟ

>>> os.mkdir('new-dir')

ใช้ rmdir คำสั่งลบไดเร็กทอรีออกจากไดเร็กทอรีการทำงานของคุณ

>>> os.rmdir('new-dir')

ตัวอย่างคำสั่งระบบหลาม

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

>>> cmd = 'date'
>>> os.system(cmd)

คุณสามารถเรียกใช้แอปพลิเคชันแบบสแตนด์อโลนอื่นๆ โดยใช้วิธีการเดียวกันนี้ ตัวอย่างต่อไปนี้รันโปรแกรมแก้ไขเทอร์มินัล nano จากเชลล์ Python ของคุณ

>>> cmd = 'nano'
>>> os.system(cmd)

ระบบ Python OS ยังส่งออกโค้ดส่งคืนสำหรับแต่ละคำสั่งที่ดำเนินการ ระบบ POSIX คืนค่า 0 สำหรับการดำเนินการที่สำเร็จและค่าที่ไม่ใช่ศูนย์เพื่อระบุปัญหา

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

>>> cmd = 'gcc --version'
>>> os.system(cmd)

ตัวอย่างด้านล่างรันคำสั่งเชลล์อย่างง่ายที่สร้างไฟล์ใหม่ชื่อ users.txt และเติมข้อมูลโดยผู้ใช้ทั้งหมดที่เข้าสู่ระบบ โปรแกรม Python จำนวนมากทำสิ่งเหล่านี้

>>> os.system('users > test')

เรากำลังส่งชื่อคำสั่งไปยังระบบปฏิบัติการเป็นสตริง คุณสามารถใช้ได้ทุกประเภท คำสั่งเทอร์มินัลที่มีประโยชน์ วิธีเดียวกัน

>>> os.system('ping -c 3 google.com')

คุณสามารถใช้ กระบวนการย่อย เรียกร้องให้ดำเนินการคำสั่งระบบจาก Python สิ่งนี้มีประโยชน์เพิ่มเติมหลายประการ รวมถึงรันไทม์ที่เร็วขึ้น การจัดการข้อผิดพลาดที่ดีขึ้น การแยกวิเคราะห์เอาต์พุต และคำสั่ง piping shell เอกสารอย่างเป็นทางการของ Python ยังแนะนำให้เรียกกระบวนการย่อยผ่านโมดูลที่เก่ากว่าเช่น os.system และ os.spawn .

>>> import subprocess
>>> subprocess.run(['ping','-c 3', 'example.com'])

การจัดการไฟล์และไดเร็กทอรีผ่าน OS Module

เราได้แสดงวิธีสร้างไฟล์และไดเร็กทอรีอย่างง่ายโดยใช้โมดูล Python OS จะทำอย่างไรถ้าคุณต้องการสร้างโฟลเดอร์ที่ซ้อนกัน? ระบบปฏิบัติการยังดูแลเรื่องนี้สำหรับเราโปรแกรมเมอร์ ตัวอย่างเช่น ตัวอย่างด้านล่างสร้างโฟลเดอร์ $HOME/test/root/api . นอกจากนี้ยังจะสร้างไดเร็กทอรีหลักที่จำเป็นหากไม่มี

>>> dirname = os.path.join(os.environ['HOME'], 'test', 'root', 'api')
>>> print(dirname)
>>> os.makedirs(dirname)

ก่อนอื่นเราดึงโฮมไดเร็กทอรีโดยใช้ เกี่ยวกับ แล้วเข้าร่วมชื่อโฟลเดอร์ผ่าน os.path.join . พิมพ์คำสั่งแสดงชื่อโฟลเดอร์และ makedirs สร้างมัน

เราสามารถดูไดเร็กทอรีใหม่โดยใช้ listdir วิธีการของโมดูล OS

>>> os.chdir(os.path.join(os.environ['HOME'], 'test', 'root', 'api'))
>>> os.system('touch file1 file2 file3')
>>> os.listdir(os.environ['HOME'])

คุณสามารถเปลี่ยนชื่อไดเร็กทอรี api ได้อย่างง่ายดายโดยใช้คำสั่ง เปลี่ยนชื่อ คำสั่งที่นำเสนอโดยโมดูล OS คำสั่งด้านล่างเปลี่ยนชื่อไดเร็กทอรี api นี้เป็น test-api

>>> os.rename('api', 'test-api')

ใช้ isfile และ ชื่อ ฟังก์ชันของ OS หากโปรแกรมของคุณต้องการตรวจสอบไฟล์หรือไดเร็กทอรีเฉพาะ

>>> os.path.isfile('file1')
>>> os.path.isdir('file1')

โมดูลระบบปฏิบัติการใน Python ยังช่วยให้นักพัฒนาสามารถแยกชื่อไฟล์และโฟลเดอร์ควบคู่ไปกับนามสกุลไฟล์ ตัวอย่างด้านล่างแสดงให้เห็นถึงการใช้ os.path.split และ os.path.splitext ในเรื่องนี้

>>> dir = os.path.join(os.environ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basename = os.path.split(dir)
>>> print(dirname)
>>> print(basename)

ใช้โค้ดด้านล่างเพื่อแยกนามสกุลเช่น .txt หรือ .mp3 จากชื่อไฟล์

>>> filename, extension = os.path.splitext(basename)
>>> print(filename)
>>> print(extension)

การใช้งานอื่นๆ ของ Python OS System

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

>>> os.getuid()
>>> os.getgid()

NS getgid ฟังก์ชั่นส่งคืน ID กลุ่มของกระบวนการที่ทำงานอยู่ ใช้ getpid เพื่อรับ PID (รหัสกระบวนการ) และ getppid เพื่อรับรหัสกระบวนการหลัก

>>> os.getpid()
>>> os.getppid()

คุณยังสามารถใช้โมดูล OS เพื่อเปลี่ยนการอนุญาตของไฟล์และไดเร็กทอรีจากโปรแกรม Python ของคุณได้ ใช้ chmod หน้าที่ของ OS ที่จะทำสิ่งนี้

>>> os.chmod('file1.txt', 0o444)

คำสั่งนี้เปลี่ยนการอนุญาตของ file1.txt ถึง 0444 . ใช้ 0o444 แทน 0444 เพื่อให้แน่ใจว่าคำสั่งนั้นเข้ากันได้กับ Python ทั้งสองเวอร์ชันหลัก

ควบคุมพลังของ Python OS System

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

แบ่งปัน แบ่งปัน ทวีต อีเมล วิธีสร้างและใช้งาน Tuples ใน Python

พร้อมที่จะนำการเข้ารหัส Python ของคุณไปอีกระดับแล้วหรือยัง? ถึงเวลาทำความเข้าใจวิธีสร้างและใช้สิ่งอันดับ

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • การเขียนโปรแกรม
  • Python
เกี่ยวกับผู้เขียน รูบายัต โฮสเซน(39 บทความเผยแพร่)

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

เพิ่มเติมจาก Rubaiat Hossain

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก