2010-04-10 6 views
0

Je suis assez nouveau pour python d'écriture pour Windows (linux est pas un problème), et ai des problèmes se python pour reconnaître les fichiers lors de l'exécution scripts, bien qu'il se comporte bien dans la ligne de commandePython (fenêtres) ouvriront les fichiers de la ligne de commande, mais pas à partir d'un script lancé depuis Eclipse

Qu'est-ce que je fais mal ici?

def verifyFile(x): 
    # 
    return os.path.isfile(x) 

Cela retourne vrai (avec un fichier valide, bien sûr) lorsqu'il est appelé à partir de la ligne de commande python, mais quand je lance le script d'éclipse, ou le lancer depuis Windows, il renvoie toujours faux. Des pensées sur pourquoi c'est?

J'ai essayé de passage comme noms de fichiers ceci: D: \ Documents and Settings \ BDE \ Desktop \ cdburn.jpg et comme celui-ci: D:/Documents and Settings/BDE/Desktop/cdburn.jpg

J'ai changé sys, argv [0] à ''

J'ai essayé ceci:

def verifyFile(x): 
    # 
    try: 
     f = open(x, 'r') 
     f.close() 
     return True 
    except: 
     return False 

et je reçois pas d'amour!

Toute aide serait appréciée.

Merci

Blake

Répondre

1

Il n'y a pas d'informations vraiment assez ici pour déboguer votre problème, mais je soupçonne.
Essayez d'ajouter la ligne

print sys.argv 

au début de votre code, et voir ce que les arguments réels qui sont passés à votre programme. J'ai le sentiment que vous trouverez le nom du fichier D:\Documents and Settings\BDE\Desktop\cdburn.jpg sera scindé en 3 arguments distincts, D:\Documents, and, Settings\BDE\Desktop\cdburn.jpg. Si c'est le cas, vous devez citer un nom de fichier contenant des espaces.

Questions connexes