Rumah pembangunan bahagian belakang Tutorial Python Cara menggunakan modul dan contoh OS Python

Cara menggunakan modul dan contoh OS Python

Apr 22, 2023 pm 10:19 PM
python module os

Modul os Python ialah salah satu perpustakaan standard yang digunakan untuk berinteraksi dengan sistem pengendalian Ia menyediakan banyak fungsi dan pembolehubah yang berguna untuk bekerja dengan fail dan direktori. Berikut ialah penggunaan beberapa fungsi modul os biasa:

1 Dapatkan direktori kerja semasa:

import os
cwd = os.getcwd()
print(cwd)

2 Tukar direktori kerja semasa:

import os
os.chdir('/path/to/new/directory')

3 .Senaraikan semua fail dan subdirektori dalam direktori:

import os
files = os.listdir('/path/to/directory')
print(files)

4 Periksa sama ada laluan yang diberikan ialah direktori:

import os
path = '/path/to/directory'
if os.path.isdir(path):
    print("It's a directory")
else:
    print("It's not a directory")

5 a fail :

import os
path = '/path/to/file'
if os.path.isfile(path):
    print("It's a file")
else:
    print("It's not a file")

6 Dapatkan saiz fail (dalam bait):

import os
path = '/path/to/file'
size = os.path.getsize(path)
print(size)

7 Periksa sama ada laluan yang diberikan wujud:

import os
path = '/path/to/file_or_directory'
if os.path.exists(path):
    print("It exists")
else:
    print("It doesn't exist")

8. Cipta direktori baharu:

import os
path = '/path/to/new/directory'
os.mkdir(path)

9 Buat direktori baharu secara rekursif (jika direktori itu tidak wujud):

import os
path = '/path/to/new/directory'
os.makedirs(path, exist_ok=True)

10 direktori:

import os
path = '/path/to/file_or_directory'
os.remove(path)

11 Padamkan direktori dan kandungannya secara rekursif:

import os
path = '/path/to/directory'
os.system('rm -rf ' + path)

Beberapa kegunaan lain yang mudah:

12.os.path.splitext() kaedah adalah untuk memisahkan laluan ke dalam nama fail dan sambungan. Ia menggunakan "." terakhir dalam nama fail sebagai pembatas untuk memisahkan nama fail dan sambungan. Contohnya, jika laluan fail ialah "/path/to/file.txt", kaedah os.path.splitext() mengembalikan tuple ("/path/to/file", ".txt").

Perlu diambil perhatian bahawa jika tiada "." dalam nama fail, sambungan yang dikembalikan ialah rentetan kosong. Jika nama fail bermula dengan ".", ia dianggap sebagai fail tanpa sambungan dan kaedah os.path.splitext() akan kembali (laluan fail, '').

Berikut ialah contoh:

import os
path = '/path/to/file.txt'
file_name, ext = os.path.splitext(path)
print('文件名为:', file_name)
print('扩展名为:', ext)

Hasil output ialah:

Nama fail ialah: /path/to/file
The sambungan ialah: .txt

13. Tetapkan kebenaran fail:

import os
os.chmod('/path/to/file', 0o777) # 设置读、写、执行权限

Kaedah os.chmod() boleh digunakan untuk mengubah suai kebenaran akses fail atau direktori. Ia menerima dua parameter: laluan fail dan mod kebenaran baharu. Mod kebenaran boleh diwakili oleh nombor perlapanan, dengan setiap bit mewakili kebenaran yang berbeza.

Berikut ialah beberapa contoh mod kebenaran:

  • 0o400: Keizinan baca sahaja

  • 0o200: Keizinan tulis

  • 0o100: Laksanakan kebenaran

  • 0o700: Semua kebenaran

Dapatkan bilangan CPU:

import os
cpu_count = os.cpu_count()
print('CPU数量为:', cpu_count)

Perlu diambil perhatian bahawa bilangan CPU yang dikembalikan oleh os.cpu_count() ialah bilangan teras CPU fizikal dan tidak termasuk teras maya teknologi hyper-threading. Dalam sistem dengan Teknologi Hyper-Threading, setiap teras CPU fizikal dibahagikan kepada dua teras maya, jadi kaedah os.cpu_count() boleh mengembalikan nombor yang lebih besar daripada bilangan sebenar teras CPU.

Selain itu, kaedah os.cpu_count() mungkin mempunyai pelaksanaan yang berbeza pada sistem pengendalian yang berbeza. Pada sesetengah sistem pengendalian ia mungkin hanya mengembalikan bilangan teras CPU logik, bukan bilangan teras CPU fizikal. Oleh itu, apabila menggunakan kaedah ini, sebaiknya rujuk dokumentasi yang berkaitan untuk mendapatkan maklumat lanjut.

15 Mulakan proses baharu:

import os
os.system('notepad.exe')

Kaedah os.system() boleh melaksanakan perintah pada sistem pengendalian dan mengembalikan kod status keluar bagi arahan itu. Parameternya ialah perintah jenis rentetan, yang boleh menjadi sebarang perintah sistem yang sah.

Berikut ialah contoh yang menunjukkan cara menggunakan kaedah os.system() untuk melaksanakan arahan mudah:

import os
os.system('echo "Hello, World!"')

Kod di atas akan mengeluarkan rentetan Hello, World! kembalikan Kod status keluar arahan (biasanya 0 untuk kejayaan).

Perlu diambil perhatian bahawa kaedah os.system() akan menyekat proses semasa sehingga pelaksanaan arahan selesai. Jika anda ingin melaksanakan arahan tanpa menyekat proses semasa, anda boleh mempertimbangkan untuk menggunakan kaedah lain dalam modul subproses, seperti subprocess.Popen().

Berikut ialah contoh lain yang menunjukkan cara menggunakan kaedah os.system() untuk melaksanakan perintah yang kompleks, seperti menggunakan wget untuk memuat turun fail pada sistem Linux:

import os
url = 'https://example.com/file.zip'
output_dir = '/path/to/output'
command = f'wget {url} -P {output_dir}'
os.system(command)

Di atas Kod akan memuat turun fail yang ditentukan oleh parameter url ke direktori yang ditentukan oleh parameter output_dir dan mengembalikan kod status keluar arahan.

16.os.environ: Ini ialah kamus yang mengandungi pembolehubah persekitaran semasa. Anda boleh menggunakan os.environ[key] untuk mendapatkan nilai pembolehubah persekitaran tertentu.

17.os.exec*(): Kaedah ini membenarkan program Python untuk melaksanakan program lain dalam proses semasa, menggantikan proses semasa. Sebagai contoh, kaedah os.execv() boleh melaksanakan atur cara menggunakan senarai hujah yang ditentukan, menggantikan proses semasa.

18.os.fork(): Kaedah ini boleh mencipta proses anak pada sistem pengendalian Unix atau Linux untuk pelaksanaan program yang selari. Proses anak akan menyalin semua kandungan memori proses induk, termasuk kod, data, tindanan, dsb., supaya atur cara boleh terus dilaksanakan berdasarkan proses induk.

19.os.kill(): Kaedah ini digunakan untuk menghantar isyarat kepada proses yang ditentukan. Anda boleh menggunakan kaedah os.kill(pid, signal) untuk menghantar isyarat tertentu kepada proses tertentu. Isyarat yang biasa digunakan termasuk SIGINT (isyarat sampukan), SIGTERM (isyarat penamatan) dan SIGKILL (isyarat penamatan paksa), dsb.

20.os.pipe(): Kaedah ini boleh mencipta paip untuk komunikasi antara proses. Kaedah os.pipe() akan mengembalikan dua deskriptor fail, satu untuk membaca data paip dan satu lagi untuk menulis data paip.

21.os.wait(): Kaedah ini boleh menunggu akhir proses anak dan kemudian mengembalikan kod status proses anak. Anda boleh menggunakan kaedah os.waitpid(pid, options) untuk menunggu proses yang ditentukan tamat dan mengembalikan kod status proses tersebut.

22.os模块可以用来操作文件路径。例如,os.path.join(path, *paths)可以将多个路径拼接成一个完整路径,os.path.abspath(path)可以将相对路径转换为绝对路径,os.path.split(path)可以将路径分割成目录和文件名。

23.遍历目录树

import os
def list_files(path):
    for root, dirs, files inos.walk(path):
        for file in files:
            print(os.path.join(root, file))
list_files('.')

这段代码可以遍历当前工作目录及其子目录下的所有文件,并打印出它们的完整路径。

os.walk()是os模块中一个非常有用的函数,用于遍历指定目录及其子目录下的所有文件和目录。它返回一个三元组(root, dirs, files),其中root是当前目录的路径,dirs是当前目录下的子目录列表,files是当前目录下的文件列表。下面是一个os.walk()的详细解释和示例:

for root, dirs, files in os.walk(top, topdown=True, onerror=None, followlinks=False):
    # Do something with root, dirs, and files

top是指定的目录路径,可以是相对路径或绝对路径。

  • topdown是一个布尔值,表示遍历时是否先遍历当前目录,再遍历子目录。如果为True(默认值),则先遍历当前目录,再遍历子目录;如果为False,则先遍历子目录,再遍历当前目录。

  • onerror是一个可选的错误处理函数,如果在遍历过程中出现错误,则会调用这个函数。

  • followlinks是一个布尔值,表示是否跟随符号链接。如果为True,则会跟随符号链接遍历目录;如果为False(默认值),则会忽略符号链接。

在遍历过程中,os.walk()会依次遍历指定目录及其子目录下的所有文件和目录,并返回当前目录的路径、子目录列表和文件列表。可以通过遍历返回的三元组来处理目录和文件。例如,可以使用下面的代码列出指定目录下的所有文件和子目录:

import os
 
def list_files_and_dirs(path):
    for root, dirs, files in os.walk(path):
        print(f'Directory: {root}')
        for file in files:
            print(f'  File: {os.path.join(root, file)}')
        for dir in dirs:
            print(f'  Subdirectory: {os.path.join(root, dir)}')
 
list_files_and_dirs('.')

这段代码会遍历当前工作目录及其子目录下的所有文件和目录,并输出相应的信息。

需要注意的是,os.walk()只会遍历当前目录及其子目录下的文件和目录,不会遍历符号链接所指向的文件或目录。如果需要遍历符号链接所指向的文件或目录,需要设置followlinks=True。

Atas ialah kandungan terperinci Cara menggunakan modul dan contoh OS Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara memasang pakej dari fail keperluan.txt di python Cara memasang pakej dari fail keperluan.txt di python Sep 18, 2025 am 04:24 AM

Jalankan pipinstall-rrequirements.txt untuk memasang pakej ketergantungan. Adalah disyorkan untuk mencipta dan mengaktifkan persekitaran maya terlebih dahulu untuk mengelakkan konflik, memastikan bahawa laluan fail adalah betul dan PIP telah dikemas kini, dan menggunakan pilihan seperti-tidak-deps atau-pengguna untuk menyesuaikan tingkah laku pemasangan jika perlu.

Cara Menguji Kod Python dengan Pytest Cara Menguji Kod Python dengan Pytest Sep 20, 2025 am 12:35 AM

Python adalah alat ujian yang mudah dan berkuasa di Python. Selepas pemasangan, fail ujian ditemui secara automatik mengikut peraturan penamaan. Tulis fungsi bermula dengan ujian untuk ujian pernyataan, gunakan @pytest.fixture untuk membuat data ujian yang boleh diguna semula, mengesahkan pengecualian melalui pytest.raises, menyokong menjalankan ujian tertentu dan pelbagai pilihan baris arahan, dan meningkatkan kecekapan ujian.

Cara Mengendalikan Argumen Barisan Perintah di Python Cara Mengendalikan Argumen Barisan Perintah di Python Sep 21, 2025 am 03:49 AM

TheargParsemoduleisThereMendingWayOhandLecommand-lineargumentsinpython, menyediakan robrobustparsing, typevalidation, helpmessages, anderrorhandling; usesy.argvforsimplecasesrequiringminiminalsetup.

Dari pemula ke pakar: 10 mesti mempunyai laman web dataset awam percuma Dari pemula ke pakar: 10 mesti mempunyai laman web dataset awam percuma Sep 15, 2025 pm 03:51 PM

Bagi pemula dalam sains data, teras lompatan dari "pengalaman tidak berpengalaman" kepada "pakar industri" adalah amalan berterusan. Asas amalan adalah set data yang kaya dan pelbagai. Nasib baik, terdapat sejumlah besar laman web di Internet yang menawarkan set data awam percuma, yang merupakan sumber yang berharga untuk meningkatkan kemahiran dan mengasah kemahiran anda.

Bagaimana memilih komputer yang sesuai untuk analisis data besar? Panduan Konfigurasi untuk Pengkomputeran Prestasi Tinggi Bagaimana memilih komputer yang sesuai untuk analisis data besar? Panduan Konfigurasi untuk Pengkomputeran Prestasi Tinggi Sep 15, 2025 pm 01:54 PM

Analisis data besar perlu memberi tumpuan kepada CPU multi-teras, memori berkapasiti besar dan penyimpanan bertingkat. Pemproses multi-teras seperti Amdepyc atau Ryzenthreadripper lebih disukai, dengan mengambil kira bilangan teras dan prestasi teras tunggal; Memori disyorkan untuk memulakan dengan 64GB, dan memori ECC lebih disukai untuk memastikan integriti data; Penyimpanan menggunakan NVMESSD (sistem dan data panas), SATASSD (data biasa) dan HDD (data sejuk) untuk meningkatkan kecekapan pemprosesan keseluruhan.

Apa itu BIP? Mengapa mereka begitu penting untuk masa depan Bitcoin? Apa itu BIP? Mengapa mereka begitu penting untuk masa depan Bitcoin? Sep 24, 2025 pm 01:51 PM

Jadual Kandungan Apakah Cadangan Penambahbaikan Bitcoin (BIP)? Mengapa bip begitu penting? Bagaimanakah proses BIP bersejarah berfungsi untuk Cadangan Penambahbaikan Bitcoin (BIP)? Apakah isyarat jenis bip dan bagaimana pelombong menghantarnya? Taproot dan keburukan percubaan cepat kesimpulan BIP ‍provements ke bitcoin telah dibuat sejak tahun 2011 melalui sistem yang dipanggil cadangan pembaikan bitcoin atau "bip." Cadangan Penambahbaikan Bitcoin (BIP) menyediakan garis panduan bagaimana bitcoin boleh berkembang secara umum, terdapat tiga jenis BIP yang mungkin, dua daripadanya berkaitan dengan perubahan teknologi dalam bitcoin setiap BIP bermula dengan perbincangan tidak formal di kalangan pemaju bitcoin yang dapat berkumpul di mana -mana, termasuk TWI

Bagaimanakah anda boleh membuat pengurus konteks menggunakan penghias @ContextManager di Python? Bagaimanakah anda boleh membuat pengurus konteks menggunakan penghias @ContextManager di Python? Sep 20, 2025 am 04:50 AM

Import@contextManagerFromContextLibandDefineageneratorfunctionThatTyieldSexactlyonce, whereCodeBeforeyieldActSasenterandCodeAfteryield (PreferitlySinfinal) actsas __

Cara Menulis Skrip Automasi Untuk Tugas Harian di Python Cara Menulis Skrip Automasi Untuk Tugas Harian di Python Sep 21, 2025 am 04:45 AM

Mengenal pastiRepetitiveTasksworthaUtomating, suchasorganizingfilesorsendingemails, focusingonthosethatoccurfrequlyandtakesignificantTime.2.useappropriatePythonlibrariesLiKeos, shutil, glob, smtplib, Beautifeniumforforforforforforfore

See all articles