Buduję podstawowy serwer plików i mój program nie może znaleźć plików.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)
Są zawsze return false mimo że „myfile” i „ścieżka” są prawidłowe [plik znajduje się w tym samym katalogu co program serwera].
IDLE działa poprawnie, ale bez przekazywania funkcji.
>>> print os.path.exists("/user/server/foo.txt")
True
Co przeoczyłem?
[EDIT:] Wyjście:
Serving file: foo.txt
File exists?: False
Serving file: /user/server/foo.txt
File exists?: False
Czy możesz podać pełną wydajność tych instrukcji drukowania? – BostonJohn
Co * dokładnie * to 'myfile'? '/ user/server/foo.txt'? –
1. Dlaczego piszesz podstawowy serwer plików? A co z? 2. Czy moja_firma przeszła absolutną ścieżkę? 3. Spróbuj 'import pdb; pdb.set_trace() 'wewnątrz funkcji i sprawdź zasięg lokalny. –
sapht