Fonction pour ouvrir un fichier en Python3 (différence entre open et codecs.open et comparaison de vitesse)

Première conclusion

La vitesse de traitement est plus rapide avec la fonction ouverte. La fonction polyvalente docecs.open. La lisibilité et la simplicité du code source sont les deux. Bref, c'était à vous de l'utiliser.

Déclencheur

Si vous faites "100 coups de traitement du langage" que vous connaissez tous pour pratiquer python3, J'ai remarqué qu'il existe deux types de fonctions qui ouvrent les fichiers (open et codecs.open). Les deux semblent être souvent utilisés.

Quelle est la différence entre open et codecs.open?

La fonction codecs.open peut ouvrir un fichier encodé en Python2. Ouais, c'est peut-être pratique. Je comprends que la différence d'utilisation est comme ça (veuillez me le faire savoir si vous le faites remarquer).

Cependant, il existe certaines différences dans la façon d'écrire le code source. Jetons un coup d'oeil ci-dessous.

Comparaison du code source

Créons un code qui lit hoge.txt comme celui ci-dessous. hoge.txt

code source pour ouvrir

open_code Résultat de l'exécution ↓ open_result

La fonction ouverte est incluse dans la bibliothèque standard, il n'est donc pas nécessaire d'effectuer une importation spéciale. Le nombre de lignes sera plus court de ce montant, mais la spécification du nom de l'argument est obligatoire et cela semble inconfortable.

Code source pour codecs.open

codecs.open_code Résultat de l'exécution ↓ codecs.open_result

Vous devez importer la bibliothèque de codecs. Cependant, une ligne est courte et semble intelligente car aucun nom d'argument n'est spécifié.

Comparaison de la vitesse d'exécution

Écraser 1 million de fois et comparer les vitesses. L'exécution a été effectuée 5 fois chacune.

Code source du programme de comparaison

résultat

final_result

Les résultats de mesure ci-dessus sont disponibles. La fonction ouverte était environ 3 fois plus rapide. C'est comme une comète rouge.

Conclusion (j'ai écrit la même chose que la conclusion au début)

La vitesse de traitement est plus rapide avec la fonction ouverte. La fonction polyvalente docecs.open. La lisibilité et la simplicité du code source sont les deux. Bref, c'était à vous de l'utiliser.

Recommended Posts

Fonction pour ouvrir un fichier en Python3 (différence entre open et codecs.open et comparaison de vitesse)
Différence entre list () et [] en Python
Différence entre == et est en python
[Python] Différence entre fonction et méthode
différence entre les instructions (instructions) et les expressions (expressions) en Python
Différence entre @classmethod et @staticmethod en Python
Différence entre append et + = dans la liste Python
Différence entre non local et global en Python
[python] Différence entre variable et self. Variable dans la classe
À propos de la différence entre "==" et "is" en python
Différence entre Ruby et Python en termes de variables
Différence entre return, return None et no return description en Python
Module Python num2words Différence de comportement entre l'anglais et le russe
Méthode de concaténation de liste en python, différence entre list.extend () et opérateur «+»
Différence entre Ruby et Python Split
Différence entre java et python (mémo)
Différence entre la série python2 et la série python3 dict.keys ()
Comparaison de vitesse entre CPython et PyPy
Synthèse de fonctions et application en Python
Python - Différence entre exec et eval
[Python] Différence entre randrange () et randint ()
[Python] Différence entre trié et trié (Colaboratoire)
Différence d'authenticité entre Python et JavaScript
Différences entre Ruby et Python dans la portée
Différences entre la syntaxe Python et Java
Différences dans la relation entre PHP et Python enfin et quitter
Ecrire le fichier O_SYNC en C et Python
[Python] Différence entre la méthode de classe et la méthode statique
Accès exclusif aux fichiers entre les processus en Python
Différence entre le fichier env_file docker-compose et le fichier .env
[Python Iroha] Différence entre List et Tuple
[python] Différence entre la sortie rand et randn
Ouvrez un fichier Excel en Python et coloriez la carte du Japon
DL, valeur d'octet et suppression de fichier en Python3
Création d'un nouveau fichier [Comparaison entre Bash et PowerShell]
Évaluation de la vitesse de sortie du fichier CSV en Python
Comparaison de vitesse entre la variable de comptage incrémentielle et l'énumération
Différences dans la façon d'écrire du code source externe entre Ruby et Python
Opérations sur les fichiers en Python
Traitement de fichiers en Python
[python] Calcul des mois et des années de différence de date / heure
Manipulation de fichiers avec Python
[Ubuntu] [Python] Comparaison de la détection de visage entre dlib et OpenCV
Conversion mutuelle entre JSON et YAML / TOML en Python
[Python] Explique la différence entre strftime et strptime dans le module datetime avec un exemple
Installez OpenCV 3 (core + contrib) dans l'environnement Windows et Python 3 et différence entre OpenCV 2 et OpenCV 3 et contrôle de fonctionnement facile
Comparez la "relation log et infini" avec Gauche (0.9.4) et Python (3.5.1)
[Python] Ouvrez le fichier csv dans le dossier spécifié par pandas
Python> Différence entre la sortie inpbt et print (inpbt)> [1. 2. 3.] / array ([1., 2., 3.], dtype = float32)
Obtenez le type MIME en Python et déterminez le format de fichier
[Python] Comment définir des noms de variables dynamiquement et comparer la vitesse
Comparaison de l'utilisation des fonctions d'ordre supérieur dans Python 2 et 3
Obtenez la date et l'heure actuelles en Python, en tenant compte du décalage horaire
AtCoder ABC151 Problème D Comparaison de la vitesse en C ++ / Python / PyPy
Différence entre processus et travail
Créer une fonction en Python
Différence entre "categorical_crossentropy" et "sparse_categorical_crossentropy"
Utiliser la fonction de rappel en Python