2016-04-27 4 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

の両方あなたはこのように、Windowsのパスにスラッシュの種類を混在させることはできません: 'T:/ B' \。だから問題は、例のエラーの '/ .'トレーラーである。ただし、コードはどのようにパスがアセンブルされているかを示していません。 – myaut

+2

バックスラッシュの代わりにスラッシュを使用してください。問題は、エラーを詳細に調べると、前方スラッシュと後方スラッシュが混在していることです。 –

+0

@myaut: 'logdir = '\\サーバ名\\パス\\フォルダ' – cyberion1985

答えて

2

は私のために、以下の作業

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