Apakah Modul OS Python dan Bagaimana Anda Menggunakannya?

Apakah Modul OS Python dan Bagaimana Anda Menggunakannya?

Modul OS di Python menyediakan akses ke fungsi khusus sistem untuk menangani sistem fail, proses, penjadual, dll. Anda perlu menguasai sistem Python OS untuk menulis aplikasi yang menangani masalah dunia nyata. Panduan ini membincangkan beberapa konsep teras dan menggambarkan cara menggunakan arahan sistem Python.





Ciri-ciri Sistem Python OS

Sistem OS berfungsi sebagai cara mudah berinteraksi dengan sistem operasi yang mendasari. Ia menawarkan akses ke nama fail, argumen baris perintah, pemboleh ubah persekitaran, parameter proses, dan hierarki sistem fail di samping fungsi lain.





Modul ini juga mengandungi dua sub-modul, modul os.sys, dan modul os.path. Anda boleh menggunakan fungsi yang disediakan oleh modul OS untuk melakukan pelbagai tugas. Beberapa penggunaan umum termasuk melaksanakan perintah shell, menguruskan fail dan direktori, proses pemijahan, dll.





Bermula dengan Modul OS

Kaedah termudah untuk meneroka modul OS adalah melalui jurubahasa. Anda boleh mengimport modul di sana dan menggunakan fungsi sistem tanpa menulis kod sumber. Anda mesti memasang Python untuk ini. Oleh itu, pasangkan Python pada mesin tempatan anda.

Berkaitan: Cara Memasang Python di Ubuntu



Mulakan jurubahasa dengan menaip ular sawa di terminal atau shell arahan anda. Setelah dibuka, import modul OS dengan menggunakan pernyataan berikut.

permainan realiti maya terbaik untuk android
>>> import os

Anda kini boleh mengakses fungsi yang disediakan oleh modul OS, termasuk Python sistem arahan. Sebagai contoh, anda boleh menentukan platform sistem menggunakan nama arahan. Contoh di bawah menunjukkan cara memanggil perintah sistem yang didedahkan oleh modul OS.





>>> os.name

Fungsi ini memeriksa sama ada modul khusus OS tertentu ada dan menentukan platform berdasarkannya. Menggunakan tidak dikenali berfungsi untuk mendapatkan maklumat terperinci.

>>> os.uname()

Perintah ini memaparkan platform sistem yang tepat di samping maklumat seni bina, pelepasan, dan versi mesin. Menggunakan getcwd berfungsi untuk mendapatkan semula direktori kerja semasa.





>>> os.getcwd()

Anda boleh menukar direktori kerja dengan mudah menggunakan perintah sistem Python chdir . Lulus lokasi baru sebagai parameter rentetan.

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

The mkdir fungsi modul OS menjadikan pembuatan direktori baru secara langsung. Ini juga membolehkan kita membuat folder rekursif, yang bermaksud Python akan membuat semua direktori yang hilang yang merupakan ibu bapa ke direktori daun.

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

Menggunakan rmdir arahan untuk menghapus direktori dari direktori kerja anda.

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

Contoh Perintah Sistem Python

Perintah sistem yang disediakan oleh modul OS membolehkan pengaturcara untuk melaksanakan perintah shell. Pastikan untuk menentukan nama perintah sebagai rentetan. Sebaik sahaja anda memanggil ular sawa sistem perintah, ia akan menjalankan perintah yang diberikan dalam subkulit baru.

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

Anda boleh menjalankan aplikasi lain yang berdiri sendiri menggunakan kaedah yang sama. Contoh berikut melaksanakan nano editor terminal dari cangkang Python anda.

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

Sistem Python OS juga mengeluarkan kod pengembalian untuk setiap perintah yang dijalankan. Sistem POSIX mengembalikan 0 untuk pelaksanaan yang berjaya dan nilai bukan nol untuk menunjukkan masalah.

Anda boleh menggunakan sistem OS di Python untuk menjalankan apa sahaja yang anda mahukan. Sebagai contoh, jika program anda perlu membaca maklumat versi program pada mesin pengguna, anda boleh melakukan perkara seperti berikut.

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

Contoh di bawah ini melaksanakan perintah shell sederhana yang membuat fail baru yang dipanggil pengguna.txt dan mengisinya dengan semua pengguna yang masuk. Banyak program Python melakukan perkara-perkara ini.

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

Kami meneruskan nama perintah ke sistem OS sebagai rentetan. Anda boleh menggunakan semua jenis arahan terminal yang berguna cara yang sama.

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

Anda juga boleh menggunakan subproses panggilan untuk melaksanakan perintah sistem dari Python. Ini memberikan beberapa faedah tambahan, termasuk runtime yang lebih cepat, pengendalian ralat yang lebih baik, parsing output, dan perintah shelling piping. Dokumentasi rasmi Python juga mengesyorkan panggilan subproses melalui modul lama seperti sistem os. dan os.spawn .

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

Menguruskan Fail dan Direktori melalui Modul OS

Kami telah menunjukkan cara membuat fail dan direktori mudah menggunakan modul Python OS. Bagaimana jika anda ingin membuat folder bersarang? Sistem OS juga menguruskan ini untuk kami pengaturcara. Contohnya, coretan di bawah membuat folder $ RUMAH / ujian / root / api . Ia juga akan membuat direktori induk yang diperlukan jika tidak tersedia.

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

Pertama, kami mendapatkan semula direktori home menggunakan kira-kira dan kemudian bergabung dengan nama folder melalui os.path.join . Pernyataan cetak memaparkan nama folder, dan makedir menciptanya.

Kita dapat melihat direktori baru menggunakan listdir kaedah modul OS.

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

Anda boleh mengubah nama direktori api dengan mudah menggunakan menamakan semula arahan yang ditawarkan oleh modul OS. Pernyataan di bawah ini menamakan semula direktori api ini menjadi test-api.

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

Menggunakan isfile dan nama fungsi OS jika program anda perlu mengesahkan fail atau direktori tertentu.

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

Modul OS di Python juga membolehkan pembangun mengekstrak nama fail dan folder di samping peluasan fail. Coretan di bawah menggambarkan penggunaan os.path.split dan os.path.splitext dalam hal ini.

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

Gunakan kod di bawah untuk mengekstrak peluasan seperti .txt atau .mp3 dari nama fail.

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

Pelbagai Penggunaan Sistem Python OS

Modul OS menawarkan banyak fungsi tambahan untuk memanipulasi perkara seperti proses pengguna dan penjadual kerja. Sebagai contoh, anda boleh mendapatkan UID (id pengguna) proses semasa dengan cepat menggunakan disaksikan fungsi.

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

The mendapat perhatian fungsi mengembalikan id kumpulan proses yang sedang berjalan. Gunakan getpid untuk mendapatkan PID (id proses) dan getppid untuk mendapatkan id proses ibu bapa.

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

Anda juga boleh menggunakan modul OS untuk mengubah kebenaran fail dan direktori dari program Python anda. Menggunakan chmod fungsi OS untuk melakukan ini.

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

Perintah ini mengubah kebenaran dari fail1.txt ke 0444 . Gunakan 0o444 bukannya 0444 untuk memastikan pernyataan itu serasi di kedua versi utama Python.

Memanfaatkan Kuasa Sistem OS Python

Modul OS Python menyediakan semua yang anda perlukan untuk berinteraksi dengan sistem operasi yang mendasari. Pemahaman yang jelas mengenai sistem OS diperlukan untuk menulis program lintas platform. Kami telah merangkumi beberapa fungsi teras yang disediakan oleh modul ini untuk membantu anda memulakannya. Cubalah mengikut kadar anda sendiri, dan jangan lupa bermain-main dengan mereka.

Berkongsi Berkongsi Tweet E-mel Cara Membuat dan Menggunakan Tuples di Python

Bersedia untuk membawa pengekodan Python anda ke tahap seterusnya? Sudah waktunya untuk memahami bagaimana membuat dan menggunakan tupel.

Baca Seterusnya
Topik-topik yang berkaitan
  • Pengaturcaraan
  • Python
Mengenai Pengarang Rubaiat Hossain(39 Artikel Diterbitkan)

Rubaiat adalah graduan CS dengan semangat yang kuat untuk sumber terbuka. Selain menjadi veteran Unix, dia juga mempunyai keselamatan rangkaian, kriptografi, dan pengaturcaraan fungsional. Dia pengumpul buku terpakai yang gemar dan mempunyai kekaguman yang tidak pernah habis untuk rock klasik.

Lagi Dari Rubaiat Hossain

Langgan buletin kami

Sertailah buletin kami untuk mendapatkan petua, ulasan, ebook percuma, dan tawaran eksklusif!

Klik di sini untuk melanggan