D'ouverture de fichier de la Fonction avec le Try & à l'Exception de Python 2.7.1
def FileCheck(fn):
try:
fn=open("TestFile.txt","U")
except IOError:
print "Error: File does not appear to exist."
return 0
Je suis en train de faire une fonction qui vérifie si un fichier existe et si ce n'est pas le cas, alors il devrait afficher le message d'erreur et renvoie 0 . Pourquoi n'est-ce pas de travail???
Préciser ce que vous entendez par "ne fonctionne pas."
OriginalL'auteur O.rka | 2011-12-05
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin de mettre en retrait le retour 0 si vous souhaitez revenir à partir du bloc except.
Aussi, votre argument n'est pas de faire beaucoup de chose. Au lieu d'attribuer le descripteur de fichier, je suppose que vous voulez cette fonction pour être en mesure de tester n'importe quel fichier? Si non, vous n'avez pas besoin d'arguments.
return 0
est mis en retrait au même niveau que votreif
déclaration. Cela met lereturn
à l'extérieur de laif
, alors la fonction retourne0
indépendamment de savoir si vous avez une erreur ou pas.comment dois-je appeler la fonction? dois-je créer un fichier dans une variable? si je le faisais, ce serait juste de l'ouverture du fichier . . .
J'ai ajouté quelques lignes de chair sur l'exemple
Ne pas le fichier sera fermé à un certain point?
oui, faut fermer le fichier dans un bloc finally
OriginalL'auteur OregonTrail
C'est probablement parce que vous voulez ouvrir le fichier en mode lecture.
Remplacer le "U" avec un "r".
Bien sûr, vous pouvez utiliser
os.path.isfile('filepath')
trop.OriginalL'auteur D K
Je pense que
os.path.isfile()
est mieux si vous voulez juste pour vérifier si un fichier existe, puisque vous n'avez pas besoin d'ouvrir le fichier. De toute façon, après avoir ouvert, il est considéré comme la meilleure pratique pour fermer le fichier et les exemples ci-dessus ne comprennent pas cela.isfile est certainement mieux. Pour les fichiers bruts, il devrait être inoffensifs pour ouvrir les fichiers, mais il peut avoir des effets secondaires inattendus si, par exemple, c'est un tube nommé. Aussi, lorsque vous quittez le champ d'application, le fichier doit se fermer automatiquement.
OriginalL'auteur JrBenito