Maison  >  Article  >  développement back-end  >  Notes d'étude Python : la fonction open() ouvre le chemin du fichier et signale une erreur

Notes d'étude Python : la fonction open() ouvre le chemin du fichier et signale une erreur

不言
不言original
2018-04-28 10:14:373125parcourir

Cet article présente principalement le problème du rapport d'erreurs lors de l'ouverture d'un chemin de fichier avec la fonction open() des notes d'étude Python. Maintenant, je le partage avec vous et le donne comme référence. Jetons un coup d'oeil ensemble

Pour ouvrir un objet fichier en mode lecture de fichier, utilisez la fonction open() intégrée de Python et transmettez le nom et l'identifiant du fichier. L'identifiant 'r' signifie lecture.

>>> f = open('D:/test.txt','r')

Attention, pour les étudiants qui débutent en python, la fonction open() présente un gros écueil, et ce n'est pas facile à découvrir.

Démonstration d'erreur :

>>> f = open('D:\test.txt','r') 
Traceback (most recent call last): 
 
 File"<ipython-input-56-6a0acaf613c9>", line 1, in <module> 
 f =open(&#39;D:\test.txt&#39;,&#39;r&#39;) 
 
OSError: [Errno 22] Invalid argument: &#39;D:\test.txt&#39;

Il semble qu'il n'y ait rien de mal, ils sont exactement les mêmes ! Regardez attentivement, la direction des barres obliques est différente. Pourquoi cela se produit-il ? La raison est que nous copions directement le chemin du fichier depuis le système. Le symbole de barre oblique dans le chemin du fichier système Windows est ''.

Cela conduit au concept de caractères d'échappement. Lorsque des caractères spéciaux doivent être utilisés dans les caractères, python utilise une barre oblique inverse'' pour échapper les caractères, donc dans le cas d'erreur''. est utilisé comme échappement, ce qui amène l'interpréteur à interpréter incorrectement le chemin du fichier.

Il y a deux façons de le corriger : premièrement, inversez le sens de '' vers '/', qui est la bonne façon d'écrire le début du texte ; deuxièmement, ajoutez 'r avant la chaîne contenant le ; Le caractère d'échappement 'signifie que la chaîne est interprétée selon sa signification originale sans s'échapper. (Recommandé !)

>>> f = open(r&#39;D:\test.txt&#39;,&#39;r&#39;)

Ci-joint :

Tableau des caractères d'échappement


转义字符

描述

(在行尾时)

续行符

\

反斜杠符号

'

单引号

"

双引号

a

响铃

b

退格(Backspace)

e

转义

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:
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