Je construis un serveur de fichiers de base et mon programme ne trouve pas de fichiers.Python path.exists() return False
def sendfile(sock, myfile):
print 'Serving file:', myfile
print 'File exists?:', os.path.exists(myfile)
path = os.path.normpath(os.path.join(os.getcwd(), myfile))
print 'Serving file:', path
print 'File exists?:', os.path.exists(path)
Elles renvoient toujours faux, même si le « monfichier » et « chemin » sont corrects [le fichier est dans le même répertoire que le programme serveur].
IDLE fonctionne correctement, mais sans passer par les fonctions.
>>> print os.path.exists("/user/server/foo.txt")
True
Qu'est-ce que j'ai manqué?
[EDIT:] Sortie:
Serving file: foo.txt
File exists?: False
Serving file: /user/server/foo.txt
File exists?: False
pourriez-vous nous donner la pleine sortie de ces déclarations d'impression? – BostonJohn
Qu'est-ce que * exactement * est 'myfile'? '/ user/server/foo.txt'? –
1. Pourquoi écrivez-vous un serveur de fichiers basique? Qu'en est-il de? 2. Est-ce que myfile est passé en tant que chemin absolu? 3. Essayez 'import pdb; pdb.set_trace() 'dans la fonction et examine la portée locale. –
sapht