2016-04-27 2 views
0

следующего кода:Как правильно использовать os.listdir на сетевом пути?

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

Это прекрасно работает, но я пытаюсь получить logdir бегать с прямым путем: \\servername\path\folder Приводом T представляет собой сетевой диск. Первоначально файлы находятся на диске C.

Как только я это, я получаю сообщение об ошибке:

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

Я пробовал:

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

и

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

и

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

+0

Вы не можете смешивать различные типы косой черты в пути окна, как это: 'T: \ а/b'. Таким образом, проблема связана с трейлером '/ .' в примере ошибки. Однако код не показывает способ сборки пути. – myaut

+2

Просто используйте косые черты везде вместо обратных косых черт, и все будет хорошо. Проблема в том, что вы смешали перемотку вперед и назад, если внимательно изучить ошибку. –

+0

@myaut: 'logdir = '\\ имя_сервера \\ путь \\ папка'' – cyberion1985

ответ

2

Для меня оба из следующих работ

os.listdir(r'\\server\folder') 
os.listdir('\\\\server\\folder') 
Смежные вопросы