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('D:\test.txt','r') OSError: [Errno 22] Invalid argument: 'D:\test.txt'
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'D:\test.txt','r')
Ci-joint :
Tableau des caractères d'échappement
|
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!