Maison développement back-end Tutoriel Python Comment utiliser le module OS de Python et des exemples

Comment utiliser le module OS de Python et des exemples

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

Le module os de Python est l'une des bibliothèques standard utilisées pour interagir avec le système d'exploitation. Il fournit de nombreuses fonctions et variables utiles pour travailler avec des fichiers et des répertoires. Voici l'utilisation de certaines fonctions courantes du module OS :

1. Obtenez le répertoire de travail actuel :

import os
cwd = os.getcwd()
print(cwd)
Copier après la connexion

2 Changez le répertoire de travail actuel :

import os
os.chdir('/path/to/new/directory')
Copier après la connexion

3. Répertoriez tous les fichiers et sous-répertoires du répertoire :

import os
files = os.listdir('/path/to/directory')
print(files)
Copier après la connexion

. 4. Vérifiez si le chemin donné est un répertoire :

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

5. Vérifiez si le chemin donné est un fichier :

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

6 Obtenez la taille du fichier en octets :

import os
path = '/path/to/file'
size = os.path.getsize(path)
print(size)
Copier après la connexion

7. un fichier Existe-t-il :

import os
path = '/path/to/file_or_directory'
if os.path.exists(path):
    print("It exists")
else:
    print("It doesn't exist")
Copier après la connexion

8. Créer un nouveau répertoire :

import os
path = '/path/to/new/directory'
os.mkdir(path)
Copier après la connexion

9. Créer récursivement un nouveau répertoire (si le répertoire n'existe pas) :

import os
path = '/path/to/new/directory'
os.makedirs(path, exist_ok=True)
Copier après la connexion

10. Supprimer un fichier ou un répertoire vide :

import os
path = '/path/to/file_or_directory'
os.remove(path)
Copier après la connexion

. 11. Supprimer récursivement un répertoire et son contenu :

import os
path = '/path/to/directory'
os.system('rm -rf ' + path)
Copier après la connexion

Quelques autres utilisations pratiques :

La méthode 12.os.path.splitext() consiste à diviser un chemin en deux parties : le nom du fichier et l'extension. Il utilise le dernier "." du nom de fichier comme délimiteur pour séparer le nom et l'extension du fichier. Par exemple, si le chemin du fichier est "/path/to/file.txt", la méthode os.path.splitext() renvoie un tuple ("/path/to/file", ".txt").

Il est à noter que s'il n'y a pas de "." dans le nom du fichier, l'extension renvoyée est une chaîne vide. Si le nom du fichier commence par ".", il est considéré comme un fichier sans extension et la méthode os.path.splitext() renverra (chemin du fichier, '').

Ce qui suit est un exemple :

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

Le résultat de sortie est :

Le nom du fichier est : /path/to/file
L'extension est : .txt

13. Définir les autorisations du fichier :

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

os. La méthode .chmod() peut être utilisée pour modifier les autorisations d’accès à un fichier ou un répertoire. Il accepte deux paramètres : le chemin du fichier et le nouveau mode d'autorisation. Le mode d'autorisation peut être représenté par un nombre octal, chaque bit représentant une autorisation différente.

Voici quelques exemples de modèles d'autorisation :

  • 0o400 : autorisations en lecture seule

  • 0o200 : autorisations en écriture

  • 0o100 : autorisations d'exécution

  • 0o700 : Toutes autorisations

14. le nombre de CPU :

import os
cpu_count = os.cpu_count()
print('CPU数量为:', cpu_count)
Copier après la connexion

Il est à noter que le nombre de CPU renvoyé par os.cpu_count() est le nombre de cœurs de CPU physiques et n'inclut pas les cœurs virtuels de la technologie hyper-threading. Dans les systèmes dotés de la technologie Hyper-Threading, chaque cœur de processeur physique est divisé en deux cœurs virtuels, de sorte que la méthode os.cpu_count() peut renvoyer un nombre supérieur au nombre réel de cœurs de processeur.

De plus, la méthode os.cpu_count() peut avoir différentes implémentations sur différents systèmes d'exploitation. Sur certains systèmes d'exploitation, il peut renvoyer uniquement le nombre de cœurs de processeur logiques, et non le nombre de cœurs de processeur physiques. Par conséquent, lorsque vous utilisez cette méthode, il est préférable de consulter la documentation pertinente pour plus d’informations.

15. Démarrez un nouveau processus : la méthode

import os
os.system('notepad.exe')
Copier après la connexion

os.system() peut exécuter une commande sur le système d'exploitation et renvoyer le code d'état de sortie de la commande. Son paramètre est une commande de type chaîne, qui peut être n'importe quelle commande système valide.

Ce qui suit est un exemple qui montre comment utiliser la méthode os.system() pour exécuter une commande simple :

import os
os.system('echo "Hello, World!"')
Copier après la connexion

Le code ci-dessus affichera la chaîne Hello, World ! représenté par 0 réussite).

Il convient de noter que la méthode os.system() bloquera le processus en cours jusqu'à ce que l'exécution de la commande soit terminée. Si vous souhaitez exécuter la commande sans bloquer le processus en cours, vous pouvez envisager d'utiliser d'autres méthodes dans le module subprocess, telles que subprocess.Popen().

Ce qui suit est un autre exemple qui montre comment utiliser la méthode os.system() pour exécuter une commande complexe, comme utiliser wget pour télécharger un fichier sur un système Linux :

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

Le code ci-dessus téléchargera le fichier spécifié par le paramètre url dans le répertoire spécifié par le paramètre output_dir et renvoie le code d'état de sortie de la commande.

16.os.environ : Il s'agit d'un dictionnaire contenant les variables d'environnement actuelles. Vous pouvez utiliser os.environ[key] pour obtenir la valeur d'une variable d'environnement spécifique.

17.os.exec*() : Ces méthodes permettent aux programmes Python d'exécuter d'autres programmes dans le processus en cours, remplaçant le processus en cours. Par exemple, la méthode os.execv() peut exécuter un programme en utilisant une liste d'arguments spécifiée, remplaçant ainsi le processus en cours.

18.os.fork() : Cette méthode peut créer un processus enfant sur le système d'exploitation Unix ou Linux pour l'exécution parallèle de programmes. Le processus enfant copiera tout le contenu de la mémoire du processus parent, y compris le code, les données, la pile, etc., afin que le programme puisse continuer à s'exécuter en fonction du processus parent.

19.os.kill() : Cette méthode est utilisée pour envoyer un signal au processus spécifié. Vous pouvez utiliser la méthode os.kill(pid, signal) pour envoyer un signal spécifié à un processus spécifié. Les signaux couramment utilisés incluent SIGINT (signal d'interruption), SIGTERM (signal de terminaison) et SIGKILL (signal de terminaison forcée), etc.

20.os.pipe() : Cette méthode peut créer un canal pour la communication entre les processus. La méthode os.pipe() renverra deux descripteurs de fichiers, un pour lire les données de canal et l'autre pour écrire des données de canal.

21.os.wait() : Cette méthode peut attendre la fin du processus enfant puis renvoyer le code d'état du processus enfant. Vous pouvez utiliser la méthode os.waitpid(pid, options) pour attendre la fin du processus spécifié et renvoyer le code d'état du processus.

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('.')
Copier après la connexion

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

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
Copier après la connexion

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('.')
Copier après la connexion

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

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Python: différents paradigmes expliqués PHP et Python: différents paradigmes expliqués Apr 18, 2025 am 12:26 AM

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

Choisir entre PHP et Python: un guide Choisir entre PHP et Python: un guide Apr 18, 2025 am 12:24 AM

PHP convient au développement Web et au prototypage rapide, et Python convient à la science des données et à l'apprentissage automatique. 1.Php est utilisé pour le développement Web dynamique, avec une syntaxe simple et adapté pour un développement rapide. 2. Python a une syntaxe concise, convient à plusieurs champs et a un écosystème de bibliothèque solide.

Python vs JavaScript: la courbe d'apprentissage et la facilité d'utilisation Python vs JavaScript: la courbe d'apprentissage et la facilité d'utilisation Apr 16, 2025 am 12:12 AM

Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.

Le code Visual Studio peut-il être utilisé dans Python Le code Visual Studio peut-il être utilisé dans Python Apr 15, 2025 pm 08:18 PM

VS Code peut être utilisé pour écrire Python et fournit de nombreuses fonctionnalités qui en font un outil idéal pour développer des applications Python. Il permet aux utilisateurs de: installer des extensions Python pour obtenir des fonctions telles que la réalisation du code, la mise en évidence de la syntaxe et le débogage. Utilisez le débogueur pour suivre le code étape par étape, trouver et corriger les erreurs. Intégrez Git pour le contrôle de version. Utilisez des outils de mise en forme de code pour maintenir la cohérence du code. Utilisez l'outil de liaison pour repérer les problèmes potentiels à l'avance.

L'extension VScode est-elle malveillante? L'extension VScode est-elle malveillante? Apr 15, 2025 pm 07:57 PM

Les extensions de code vs posent des risques malveillants, tels que la cachette de code malveillant, l'exploitation des vulnérabilités et la masturbation comme des extensions légitimes. Les méthodes pour identifier les extensions malveillantes comprennent: la vérification des éditeurs, la lecture des commentaires, la vérification du code et l'installation avec prudence. Les mesures de sécurité comprennent également: la sensibilisation à la sécurité, les bonnes habitudes, les mises à jour régulières et les logiciels antivirus.

Peut-on exécuter le code sous Windows 8 Peut-on exécuter le code sous Windows 8 Apr 15, 2025 pm 07:24 PM

VS Code peut fonctionner sur Windows 8, mais l'expérience peut ne pas être excellente. Assurez-vous d'abord que le système a été mis à jour sur le dernier correctif, puis téléchargez le package d'installation VS Code qui correspond à l'architecture du système et l'installez comme invité. Après l'installation, sachez que certaines extensions peuvent être incompatibles avec Windows 8 et doivent rechercher des extensions alternatives ou utiliser de nouveaux systèmes Windows dans une machine virtuelle. Installez les extensions nécessaires pour vérifier si elles fonctionnent correctement. Bien que le code VS soit possible sur Windows 8, il est recommandé de passer à un système Windows plus récent pour une meilleure expérience de développement et une meilleure sécurité.

PHP et Python: une plongée profonde dans leur histoire PHP et Python: une plongée profonde dans leur histoire Apr 18, 2025 am 12:25 AM

PHP est originaire en 1994 et a été développé par Rasmuslerdorf. Il a été utilisé à l'origine pour suivre les visiteurs du site Web et a progressivement évolué en un langage de script côté serveur et a été largement utilisé dans le développement Web. Python a été développé par Guidovan Rossum à la fin des années 1980 et a été publié pour la première fois en 1991. Il met l'accent sur la lisibilité et la simplicité du code, et convient à l'informatique scientifique, à l'analyse des données et à d'autres domaines.

Comment exécuter des programmes dans Terminal Vscode Comment exécuter des programmes dans Terminal Vscode Apr 15, 2025 pm 06:42 PM

Dans VS Code, vous pouvez exécuter le programme dans le terminal via les étapes suivantes: Préparez le code et ouvrez le terminal intégré pour vous assurer que le répertoire de code est cohérent avec le répertoire de travail du terminal. Sélectionnez la commande Run en fonction du langage de programmation (tel que Python de Python your_file_name.py) pour vérifier s'il s'exécute avec succès et résoudre les erreurs. Utilisez le débogueur pour améliorer l'efficacité du débogage.

See all articles