Maison >développement back-end >Tutoriel Python >Bases de Python : lecture et écriture de fichiers
Étant donné que la vitesse du processeur et de la mémoire est bien supérieure à la vitesse des périphériques, il existe un sérieux problème d'inadéquation de vitesse dans la programmation des E/S. Par exemple, si vous souhaitez écrire 100 Mo de données sur le disque, il ne faut que 0,01 seconde au processeur pour produire 100 Mo de données, mais cela peut prendre 10 secondes pour que le disque reçoive les 100 Mo de données. Il existe deux méthodes : La première est que le CPU attend, c'est-à-dire que le programme suspend l'exécution du code suivant, attend que 100 Mo de données soient écrites sur le disque après 10 secondes, puis continue l'exécution. Ce mode est appelé synchrone. IO; l'autre La méthode est que le CPU n'attend pas, mais dit simplement au disque : " Vous écrivez toujours lentement, ne vous inquiétez pas, je vais continuer à faire autre chose. Par conséquent, le code suivant peut être exécuté immédiatement. " .Ce mode est appelé synchronisation asynchrone des IO et asynchrone. La différence réside dans l'attente ou non du résultat de l'exécution des IO. L'avantage de l'asynchrone réside dans les performances élevées du programme, mais l'inconvénient est que le modèle de programmation est complexe. Pensez-y, vous devez savoir quand vous avertir que « le burger est prêt » et les méthodes pour vous avertir varient. Si le serveur vient vous trouver, c'est le mode de rappel. Si le serveur vous envoie un message texte pour vous avertir, vous devez continuer à vérifier votre téléphone, qui est le mode d'interrogation. En bref, la complexité des IO asynchrones est bien supérieure à celle des IO synchrones. C'est comme lorsque vous allez chez McDonald's pour commander de la nourriture et que vous dites « prenez un hamburger », le serveur vous dit, désolé, le hamburger doit être cuit frais. et vous devez attendre 5 minutes, alors vous vous tenez à la caisse. J'ai attendu 5 minutes avant de recevoir le hamburger, puis je suis allé au centre commercial. C'est une IO synchrone. Vous dites "prendre un hamburger" et le serveur vous dit que le hamburger doit attendre 5 minutes. Vous pouvez d'abord vous rendre au centre commercial lorsqu'il sera prêt, nous vous en informerons afin que vous puissiez aller faire autre chose immédiatement (y aller). au centre commercial). Il s’agit d’IO asynchrones. 9.1 Lecture et écriture de fichiers #!/usr/bin/pythonpoem = '''1.dog2.cat3.rabbit'''f=file('/tmp/poem','w')f.write(poem)f. close () #Contenu du fichier de sortie, première méthode #f=open('/tmp/poem','r')#for line in f.readlines():# print(line.strip())#f.close( )
#Contenu du fichier de sortie, méthode 2 f=file('/tmp/poem')while True : line = f.readline() if len(line)==0 : break print(line.strip()) f .close() L'écriture d'un fichier revient à lire un fichier. La seule différence est que lors de l'appel de la fonction open(), transmettre l'identifiant « w » ou « wb » signifie écrire un fichier texte ou écrire un fichier binaire. :>>> ; f = open('/Users/michael/test.txt', 'w')
>>> ;>> f .close() Vous pouvez appeler write() à plusieurs reprises pour écrire dans le fichier, mais assurez-vous d'appeler f.close() pour fermer le fichier. Lorsque nous écrivons un fichier, le système d'exploitation n'écrit souvent pas immédiatement les données sur le disque, mais les met en cache dans la mémoire et les écrit lentement lorsqu'elles sont libres. Ce n'est que lorsque la méthode close() est appelée que le système d'exploitation garantit que toutes les données non écrites seront écrites sur le disque. La conséquence de l'oubli d'appeler close() est que seule une partie des données peut être écrite sur le disque et le reste est perdu. Par conséquent, il est préférable d'utiliser l'instruction with pour être sûr : with open('/Users/michael/test.txt', 'w') as f:
f.write('Hello, world!')
Utilisez close() pour deux avantages : 1. Fermez le nombre de fichiers ouverts 2. Assurez-vous que les données en mémoire sont écrites sur le disque dur f.flush() peut écrire le contenu de la mémoire sur le disque dur sans fermer le fichier Résumé En Python, la lecture et l'écriture de fichiers se font via l'objet fichier ouvert par la fonction open(). C'est une bonne habitude d'utiliser l'instruction with pour faire fonctionner le fichier IO.
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!