recherche
Maisondéveloppement back-endTutoriel Pythonméthodes python de lecture, d'écriture et de création de fichiers

Le fonctionnement des fichiers et des dossiers (fonctions d'opération de fichiers) en python nécessite le module os et le module Shutil.

Obtenir le répertoire de travail actuel, c'est-à-dire le chemin du répertoire dans lequel le script Python actuel fonctionne : os.getcwd()

Renvoyer tous les noms de fichiers et de répertoires dans le répertoire spécifié : os.listdir()

La fonction permet de supprimer un fichier : os.remove()

Supprimer plusieurs répertoires : os.removedirs(r "c:python")

Vérifiez le chemin donné Vérifiez si le chemin est un fichier : os.path.isfile()

Vérifiez si le chemin donné est un répertoire : os.path.isdir()

Vérifiez s'il s'agit d'un chemin absolu : os.path.isabs()

Vérifiez si le chemin donné existe réellement : os.path.exists()

Renvoyer le nom du répertoire et le nom du fichier d'un chemin : os.path.split() par exemple os.path.split('/home/swaroop/byte/code/poem.txt') Résultat : ('/home/swaroop/byte/code', 'poem.txt' )

Nom de l'extension divisée : os.path.splitext()

Obtenir le nom du chemin : os.path.dirname()

Obtenir le nom du fichier : os.path.basename ()

Exécuter les commandes Shell : os.system()

Lire et définir les variables d'environnement : os.getenv() et os.putenv()

donne le terminateur de ligne utilisé par la plateforme actuelle : os.linesep Windows utilise 'rn', Linux utilise 'n' et Mac utilise 'r'

Indiquez la plateforme que vous utilisez : os.name Pour Windows, c'est 'nt' et pour les utilisateurs Linux/Unix, c'est 'posix'

Renommer : os.rename(old, new)

Créer un répertoire multi-niveaux : os.makedirs(r "c:pythontest")

Créer un seul répertoire : os.mkdir ("test")

Récupérer les attributs du fichier : os.stat (fichier)

Modifier les autorisations et les horodatages du fichier : os.chmod (fichier)

Terminer le processus en cours : os.exit()

Obtenir la taille du fichier : os.path.getsize(filename)


Opération sur le fichier :
os.mknod(" test.txt") Créez un fichier vide
fp = open("test.txt",w) Ouvrez directement un fichier Si le fichier n'existe pas, créez le fichier

À propos du mode ouvert :

w s'ouvre en écriture,
a s'ouvre en mode ajout (commence par EOF, créant un nouveau fichier si nécessaire)
r s'ouvre en mode lecture-écriture
w s'ouvre en mode lecture-écriture (voir w )
a Ouvrir en mode lecture-écriture (voir a)
rb Ouvrir en mode lecture binaire
wb Ouvrir en mode écriture binaire (voir w)
ab Ouvrir en mode ajout binaire (voir a)
rb Ouvrir en mode lecture-écriture binaire (voir r)
wb Ouvrir en mode lecture-écriture binaire (voir w)
ab Ouvrir en lecture-écriture binaire mode (voir a)

fp.read([size ]) #size est la longueur de la lecture, en octets

fp.readline([size]) #Lire une ligne If. size est défini, il est possible de renvoyer seulement une partie de la ligne

fp.readlines([size]) # Traiter chaque ligne du fichier comme membre d'une liste et renvoyer cette liste. En fait, il est implémenté en interne en appelant readline() dans une boucle. Si le paramètre size est fourni, size représente la longueur totale du contenu lu, ce qui signifie que seule une partie du fichier peut être lue.

fp.write(str) #Écrivez str dans le fichier. write() n'ajoutera pas de caractère de nouvelle ligne après str

fp.writelines(seq) #Write seq Tout le contenu est écrit. dans le fichier (plusieurs lignes sont écrites à la fois). Cette fonction écrit également fidèlement, sans rien ajouter après chaque ligne.

fp.close() #Fermez le fichier. Python fermera automatiquement un fichier une fois qu'il n'est plus utilisé. Cependant, cette fonction n'est pas garantie. Il est préférable de prendre l'habitude de le fermer vous-même. Si un fichier est opéré après sa fermeture, une ValueError sera générée

fp.flush() #Écrire le contenu du tampon sur le disque dur

fp.fileno() # Renvoie un entier long Tapez "file label"

fp.isatty() #Si le fichier est un fichier de périphérique terminal (dans un système Unix)

fp.tell() #Renvoie le courant position de la marque d'opération de fichier, en prenant le début du fichier comme origine

fp.next() #Retournez à la ligne suivante et déplacez la marque d'opération de fichier vers la ligne suivante. Lorsqu'un fichier est utilisé dans une instruction telle que for...in file, la fonction next() est appelée pour implémenter le parcours.

fp.seek(offset[,whence]) #Déplacez la marque d'opération de fichier vers la position de décalage. Ce décalage est généralement calculé par rapport au début du fichier et est généralement un nombre positif. Mais ce n'est pas nécessairement le cas si le paramètre whence est fourni. whence peut être 0 pour recommencer le calcul depuis le début, et 1 pour utiliser la position actuelle comme origine. 2 indique que la fin du fichier est utilisée comme origine du calcul. Il convient de noter que si le fichier est ouvert en mode a ou a, la marque d'opération de fichier reviendra automatiquement à la fin du fichier à chaque fois qu'une opération d'écriture est effectuée.

fp.truncate([size]) #Coupez le fichier à la taille spécifiée. La valeur par défaut est de couper à la position de la marque d'opération actuelle du fichier. Si la taille est supérieure à la taille du fichier, selon le système, le fichier peut ne pas être modifié, le fichier peut être complété à la taille correspondante avec 0, ou du contenu aléatoire peut être ajouté.

Opération sur le répertoire :
os.mkdir("file") Créer un répertoire
Copier le fichier :
shutil.copyfile("oldfile", "newfile") L'ancien et le nouveau fichier ne peuvent être que des fichiers
shutil.copy("oldfile","newfile") oldfile ne peut être qu'un dossier, newfile peut être un fichier ou un répertoire cible
Copiez le dossier :
shutil.copytree("olddir","newdir " ) Olddir et newdir ne peuvent être que des répertoires, et newdir ne doit pas exister
Renommer les fichiers (répertoires)
os.rename("oldname", "newname") Utilisez cette commande pour les fichiers ou les répertoires
Déplacer les fichiers (répertoires)
shutil.move("oldpos","newpos")
Supprimer les fichiers
os.remove("file")
Supprimer les répertoires
os.rmdir( "dir") ne peut supprimer que les répertoires vides
shutil.rmtree("dir") Les répertoires vides et les répertoires avec du contenu peuvent être supprimés
Convertir le répertoire
os.chdir("path") Changer le chemin

Python lit et écrit des fichiers

1.open
Après avoir utilisé open pour ouvrir un fichier, vous devez vous rappeler d'appeler la méthode close() de l'objet fichier. Par exemple, vous pouvez utiliser l'instruction try/finally pour garantir que le fichier peut être définitivement fermé.

file_object = open('thefile.txt')
essayez :
all_the_text = file_object.read( )
finalement :
file_object.close( )

Remarque : L'instruction open ne peut pas être placée dans le bloc try car lorsqu'une exception se produit lors de l'ouverture du fichier, l'objet fichier file_object ne peut pas exécuter la méthode close().

2. Lire le fichier
Lire le fichier texte
input = open('data', 'r')
#Le deuxième paramètre est par défaut r
input = open(' data ')

Lire le fichier binaire
input = open('data', 'rb')

Lire tout le contenu
file_object = open('thefile. txt' )
essayez :
all_the_text = file_object.read()
finalement :
file_object.close()

Lire les octets fixes
file_object = open ('abinfile ', 'rb')
essayez :
while True:
chunk = file_object.read(100)
if not chunk:
break
do_something_with(chunk)
finalement :
file_object.close( )

Lire chaque ligne
list_of_all_the_lines = file_object.readlines( )

Si le fichier est un fichier texte, vous pouvez également le parcourir directement l'objet Fichier obtient chaque ligne :

pour la ligne dans file_object :
ligne de processus

3. Écrire le fichier
Écrire le fichier texte
output = open(' data ', 'w')

Écrire un fichier binaire
output = open('data', 'wb')

Ajouter un fichier d'écriture
sortie = open('data', 'w')

Écrire des données
file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )

Écrire plusieurs lignes
file_object.writelines(list_of_text_strings)

Notez qu'appeler des lignes d'écriture pour écrire plusieurs lignes aura de meilleures performances que d'utiliser l'écriture à la fois Écrivez trop haut.

Lors du traitement des fichiers journaux, nous rencontrons souvent une telle situation : le fichier journal est énorme et il est impossible de lire l'intégralité du fichier dans la mémoire pour le traiter en une seule fois. Par exemple, il doit être traité. un ordinateur avec une mémoire physique de 2 Go En traitant un fichier journal de 2 Go sur la machine, nous pouvons vouloir traiter seulement 200 Mo de son contenu à la fois.
En Python, l'objet File intégré fournit directement une fonction readlines(sizehint) pour accomplir une telle chose. Prenons le code suivant comme exemple :

file = open('test.log', 'r')sizehint = 209715200 # 200Mposition = 0lines = file.readlines(sizehint)while not file.tell() - position

Chaque fois que la fonction readlines(sizehint) est appelée, environ 200 Mo de données seront renvoyées et les données renvoyées doivent être complète. Les données de ligne, dans la plupart des cas, le nombre d'octets des données renvoyées sera légèrement supérieur à la valeur spécifiée par sizehint (sauf lorsque la fonction readlines(sizehint) est appelée pour la dernière fois). Normalement, Python ajustera automatiquement la valeur sizehint spécifiée par l'utilisateur à un multiple entier de la taille du cache interne.

file est un type spécial en python, qui est utilisé pour faire fonctionner des fichiers externes dans les programmes python. Tout en Python est un objet, et file ne fait pas exception. Voyons d'abord comment créer un objet fichier :


file(name[, mode[, buffering]])
La fonction file() est utilisée pour créer un objet fichier. Elle a un alias appelé open(), qui peut être plus vivant. sont des fonctions intégrées. Jetons un coup d'œil à ses paramètres. Ses paramètres sont tous passés sous forme de chaînes. name est le nom du fichier.
mode est le mode ouvert, les valeurs facultatives sont r w a U, qui représentent respectivement la lecture (par défaut) et l'écriture qui prennent en charge divers sauts de ligne. Si vous ouvrez un fichier en mode w ou a, si le fichier n'existe pas, il sera créé automatiquement. De plus, lorsque vous utilisez le mode w pour ouvrir un fichier existant, le contenu du fichier d'origine sera effacé, car la marque d'opération de fichier initiale se trouve au début du fichier. Si vous effectuez une opération d'écriture à ce moment, le contenu d'origine. sera sans aucun doute supprimé. Pour des raisons historiques, le caractère de nouvelle ligne a différents modes selon les systèmes. Par exemple, sous Unix, il s'agit d'un n et sous Windows, il s'agit de « rn ». L'ouverture d'un fichier en mode U prend en charge tous les modes de nouvelle ligne, ce qui signifie « ». r' 'n' 'rn' peuvent tous représenter des nouvelles lignes, et il y aura un tuple utilisé pour stocker les caractères de nouvelle ligne utilisés dans ce fichier. Cependant, bien qu'il existe de nombreux modes pour les sauts de ligne, lors de la lecture en Python, n est utilisé à la place. Après le caractère mode, vous pouvez également ajouter les deux identifiants b et t, qui indiquent respectivement que le fichier peut être lu et écrit en même temps et que le fichier peut être ouvert en mode binaire ou en mode texte (par défaut).
Si la mise en mémoire tampon est 0, cela signifie aucune mise en mémoire tampon ; si elle est 1, cela signifie « mise en mémoire tampon de ligne » ; si c'est un nombre supérieur à 1, cela signifie la taille du tampon, qui doit être en octets.

L'objet fichier a ses propres propriétés et méthodes. Examinons d'abord les attributs du fichier.


fermé #Marque si le fichier a été fermé, réécrit par close()
encoding #File encoding
mode #Open mode
name #File name
newlines # Dans le fichier Le mode newline utilisé est un tuple
softspace #boolean de type, généralement 0. Il est dit utilisé pour lire et écrire le fichier print

:

F.read( [size] ) #size est la longueur de la lecture, en octets
F.readline([size])
#Read a line Si size est défini, il est possible de renvoyer seulement une partie de la ligne.
F.readlines ([size])
# Traitez chaque ligne du fichier comme un membre d'une liste et renvoyez cette liste. En fait, il est implémenté en interne en appelant readline() dans une boucle. Si le paramètre size est fourni, size représente la longueur totale du contenu lu, ce qui signifie que seule une partie du fichier peut être lue.
F.write(str)
#Write str dans le fichier. write() n'ajoutera pas de caractère de nouvelle ligne après str
F.writelines(seq)
#Write seq Tout le contenu est écrit. au fichier. Cette fonction écrit également fidèlement, sans rien ajouter après chaque ligne.

Autres méthodes de fichier :

F.close()
#Fermez le fichier. Python fermera automatiquement un fichier une fois qu'il n'est plus utilisé. Cependant, cette fonction n'est pas garantie. Il est préférable de prendre l'habitude de le fermer vous-même. Si un fichier est opéré après sa fermeture, une ValueError sera générée
F.flush()
#Écrire le contenu du tampon sur le disque dur
F.fileno()
# Renvoie un entier long Type de "étiquette de fichier"
F.isatty()
#Si le fichier est un fichier de périphérique terminal (dans un système Unix)
F.tell()
#Renvoie le position actuelle de la marque d'opération de fichier , en prenant le début du fichier comme origine
F.next()
# Revenir à la ligne suivante et déplacer la marque d'opération de fichier à la ligne suivante. Lorsqu'un fichier est utilisé dans une instruction telle que for ... in file, la fonction next() est appelée pour implémenter le parcours.
F.seek(offset[,whence])
#Déplacez la marque d'opération de fichier vers la position de décalage. Ce décalage est généralement calculé par rapport au début du fichier et est généralement un nombre positif. Mais ce n'est pas nécessairement le cas si le paramètre whence est fourni. whence peut être 0 pour recommencer le calcul depuis le début, et 1 pour utiliser la position actuelle comme origine. 2 indique que la fin du fichier est utilisée comme origine du calcul. Il convient de noter que si le fichier est ouvert en mode a ou a, la marque d'opération de fichier reviendra automatiquement à la fin du fichier à chaque fois qu'une opération d'écriture est effectuée.
F.truncate([size])
#Couper le fichier à la taille spécifiée. La valeur par défaut est de couper à la position de la marque d'opération actuelle du fichier. Si la taille est supérieure à la taille du fichier, selon le système, le fichier peut ne pas être modifié, le fichier peut être complété à la taille correspondante avec 0, ou du contenu aléatoire peut être ajouté.

La méthode ci-dessus de lecture, d'écriture et de création de fichiers en Python (à lire absolument) est tout le contenu partagé par l'éditeur. J'espère qu'elle pourra vous donner une référence, et j'espère également que tout le monde prendra en charge PHP. Site chinois.

Pour plus d'articles liés aux méthodes Python de lecture, d'écriture et de création de fichiers, veuillez faire attention au site Web PHP chinois !

Déclaration
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
Python vs C: Comprendre les principales différencesPython vs C: Comprendre les principales différencesApr 21, 2025 am 12:18 AM

Python et C ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1) Python convient au développement rapide et au traitement des données en raison de sa syntaxe concise et de son typage dynamique. 2) C convient à des performances élevées et à une programmation système en raison de son typage statique et de sa gestion de la mémoire manuelle.

Python vs C: Quelle langue choisir pour votre projet?Python vs C: Quelle langue choisir pour votre projet?Apr 21, 2025 am 12:17 AM

Le choix de Python ou C dépend des exigences du projet: 1) Si vous avez besoin de développement rapide, de traitement des données et de conception du prototype, choisissez Python; 2) Si vous avez besoin de performances élevées, de faible latence et de contrôle matériel, choisissez C.

Atteindre vos objectifs python: la puissance de 2 heures par jourAtteindre vos objectifs python: la puissance de 2 heures par jourApr 20, 2025 am 12:21 AM

En investissant 2 heures d'apprentissage Python chaque jour, vous pouvez améliorer efficacement vos compétences en programmation. 1. Apprenez de nouvelles connaissances: lire des documents ou regarder des tutoriels. 2. Pratique: Écrivez du code et complétez les exercices. 3. Revue: consolider le contenu que vous avez appris. 4. Pratique du projet: Appliquez ce que vous avez appris dans les projets réels. Un tel plan d'apprentissage structuré peut vous aider à maîtriser systématiquement Python et à atteindre des objectifs de carrière.

Maximiser 2 heures: stratégies d'apprentissage Python efficacesMaximiser 2 heures: stratégies d'apprentissage Python efficacesApr 20, 2025 am 12:20 AM

Les méthodes pour apprendre Python efficacement dans les deux heures incluent: 1. Passez en revue les connaissances de base et assurez-vous que vous connaissez l'installation de Python et la syntaxe de base; 2. Comprendre les concepts de base de Python, tels que les variables, les listes, les fonctions, etc.; 3. Master Basic et Advanced Utilisation en utilisant des exemples; 4. Apprenez des erreurs courantes et des techniques de débogage; 5. Appliquer l'optimisation des performances et les meilleures pratiques, telles que l'utilisation des compréhensions de la liste et le suivi du guide de style PEP8.

Choisir entre Python et C: La bonne langue pour vousChoisir entre Python et C: La bonne langue pour vousApr 20, 2025 am 12:20 AM

Python convient aux débutants et à la science des données, et C convient à la programmation système et au développement de jeux. 1. Python est simple et facile à utiliser, adapté à la science des données et au développement Web. 2.C fournit des performances et un contrôle élevés, adaptés au développement de jeux et à la programmation système. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

Python vs C: Une analyse comparative des langages de programmationPython vs C: Une analyse comparative des langages de programmationApr 20, 2025 am 12:14 AM

Python est plus adapté à la science des données et au développement rapide, tandis que C est plus adapté aux performances élevées et à la programmation système. 1. La syntaxe Python est concise et facile à apprendre, adaptée au traitement des données et à l'informatique scientifique. 2.C a une syntaxe complexe mais d'excellentes performances et est souvent utilisée dans le développement de jeux et la programmation système.

2 heures par jour: le potentiel de l'apprentissage python2 heures par jour: le potentiel de l'apprentissage pythonApr 20, 2025 am 12:14 AM

Il est possible d'investir deux heures par jour pour apprendre Python. 1. Apprenez de nouvelles connaissances: apprenez de nouveaux concepts en une heure, comme les listes et les dictionnaires. 2. Pratique et pratique: utilisez une heure pour effectuer des exercices de programmation, tels que la rédaction de petits programmes. Grâce à une planification et à une persévérance raisonnables, vous pouvez maîtriser les concepts de base de Python en peu de temps.

Python vs C: courbes d'apprentissage et facilité d'utilisationPython vs C: courbes d'apprentissage et facilité d'utilisationApr 19, 2025 am 12:20 AM

Python est plus facile à apprendre et à utiliser, tandis que C est plus puissant mais complexe. 1. La syntaxe Python est concise et adaptée aux débutants. Le typage dynamique et la gestion automatique de la mémoire le rendent facile à utiliser, mais peuvent entraîner des erreurs d'exécution. 2.C fournit des fonctionnalités de contrôle de bas niveau et avancées, adaptées aux applications haute performance, mais a un seuil d'apprentissage élevé et nécessite une gestion manuelle de la mémoire et de la sécurité.

See all articles

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

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

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.