2016-04-27 8 views
0

folgenden Code:Wie kann os.listdir korrekt auf einem Netzwerkpfad verwendet werden?

def tema_get_file(): 
    logdir='T:\\' 
    logfiles = sorted([ f for f in os.listdir(logdir) if f.startswith('tms_int_calls-')]) 
    return logfiles[-1] 

Das läuft gut, aber ich versuche, logdir zu bekommen mit einem direkten Weg zu laufen: \\servername\path\folder Der Antrieb T ist ein zugeordnetes Laufwerk. Ursprünglich befinden sich die Dateien auf dem C-Laufwerk.

Sobald ich, dass ich die Fehlermeldung:

WindowsError: [Error 3] The system cannot find the path specified: '\servername\path\folder/.'

Ich habe versucht:

"\\servername\\path\\folder", "\\servername\\path\\folder\\"

und

r"\\servername\path\folder", r"\\servername\path\folder\"

und

"\\\\servername\\path\\folder", "\\\\servername\\path\\folder\\"

+0

Sie können nicht verschiedene Arten von Schrägstriche in den Fenstern Weg, wie diese mischen: 'T: \ a/b '. Das Problem ist also mit '/ .' trailer im Beispielfehler. Der Code zeigt jedoch nicht an, wie der Pfad zusammengesetzt ist. – myaut

+2

Verwenden Sie einfach vorwärts Schrägstriche statt rückwärts Schrägstriche, und alles wird gut. Das Problem besteht darin, dass Sie Schräg- und Schrägstriche verwechselt haben, wenn Sie sich den Fehler genauer ansehen. –

+0

@myaut: 'logdir = '\\ Servername \\ Pfad \\ Ordner'' – cyberion1985

Antwort

2

Für mich beide der folgenden Arbeit

os.listdir(r'\\server\folder') 
os.listdir('\\\\server\\folder') 
Verwandte Themen