2016-04-25 6 views
0

フォルダ内のファイルを含むリストを作成しています。ファイル名は、t1507859_Etappe-02-Alpe-Adria-Trail.svgのようになります。文字列を分割して、["t1507859_Etappe-", "02", "-Alpe-Adria-Trail.svg"]のようなものにしたいと思います。スプリット操作から得たリストの2番目の数字を元に戻したい。リスト内の文字列を分割する

dirs = os.listdir (path) 

[i.split('-', 2)[1] for i in l] 

print dirs 

私はPythonシェルの中に線で、このコード行を解析した場合、私はそれがモジュールとして実行してみましょうならば、それは動作しますが、ありません。そこでは、私はちょうど通常のディレクトリリストを取得します。

答えて

6

このコードをPythonシェルに1行ずつ解析すると動作しますが、モジュールとして動作させる場合は動作しません。そこでは、私はちょうど通常のディレクトリリストを取得します。

確かにあなたは、変数にリストの内包表記の結果を代入していないので、これはです。代わりに、あなたは:

dirs = os.listdir(path) 
dirs = [i.split('-', 2)[1] for i in dirs] 
print(dirs)