Python path.existe () devolver o falso
estou a construir um servidor de ficheiros básico e o meu programa não consegue encontrar ficheiros.
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)
estes devolvem sempre falso, mesmo que o 'myfile' e' path ' estejam correctos [o ficheiro está no mesmo directório que o programa do servidor].
ocioso funciona bem, mas sem passar para funções.
>>> print os.path.exists("/user/server/foo.txt")
True
O que é que eu perdi?
[editar:] resultado:
Serving file: foo.txt
File exists?: False
Serving file: /user/server/foo.txt
File exists?: False
3 answers
>>> from os.path import exists
>>> exists('dog.png')
True
>>> exists('dog.png\n')
False
Tente remover espaços em branco em path
Antes de verificar se existe.
Se ler a documentação em Python de os.caminho.existe () , diz que existem casos específicos em que existe um ficheiro ou pasta mas os.caminho.exists () devolve falso:
Devolve verdadeiro se a localização se referir a uma localização existente ou a um ficheiro aberto descritor. Devolve falso para as ligações simbólicas quebradas. Em alguns plataformas, esta função pode retornar falso se a permissão não for concedida para executar os.stat () no ficheiro pedido, mesmo que a localização fisicamente existir.