J'ai un fichier que j'essaie d'ouvrir en python avec la ligne suivante: appeler cela me donne l'erreur p> typeError: un entier est requis p>
blockQuote> J'ai supprimé tous les autres code en plus de cette ligne et obtenez toujours l'erreur. Qu'est-ce que j'ai mal fait et comment puis-je l'ouvrir correctement? p> p>
5 Réponses :
de la documentation de Ouvrir () code>
: p>
ouvert (nom [ mode [ mise en mémoire tampon]]) code> strong> p>
[...] p>
L'argument tampon optionnel spécifie le tampon souhaité du fichier Taille: 0 signifie ignorré, 1 signifie la ligne tamponnée, tout autre positif Valeur signifie utiliser un tampon de (environ) cette taille. Un négatif Moyens de mémoire tampon d'utilisation de la valeur par défaut du système, qui est généralement la ligne Tamponné pour les appareils TTY et entièrement tamponnés pour d'autres fichiers. Si omis, la valeur par défaut du système est utilisée. P> blockQuote>
Vous semblez essayer de passer
ouvert () code> une chaîne décrivant le fichier codant comme troisième argument à la place. Ne fais pas ça. P>
Tirer. Tu as raison. Je voulais utiliser Codecs.Open. Merci!
Le dernier paramètre à Ouvrir code>
est le Taille du tampon, pas le codage du fichier. p>
Les flux de fichiers sont plus ou moins encoding-agnostiques (à l'exception de la translation de la nouvelle ligne sur les fichiers non ouverts en mode binaire), vous devez gérer le codage ailleurs (par exemple, lorsque vous obtenez les données avec un Lire () Code> Appel, vous pouvez l'interpréter comme
utf-8 code> à l'aide de son
décodage code> méthode). p>
Vous utilisez le mauvais ouvert.
open(filename, mode='rb', encoding=None, errors='strict', buffering=1)
de l'aide Documents:
open(...) open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True) -> file object
Ceci résolvé mon problème, c'est-à-dire fournir un codage (UTF-8) tout en ouvrant le fichier
Qu'est-ce que la trace de trace? La dernière ligne est-elle la dernière ligne du
f = ouvert (...) code> ligne ou à l'intérieur des bibliothèques de base Python?
Quelle version de Python? 3.x? ou 2.x?