2016-10-15 12 views
-1

名前の中に部分文字列を置き換えるファイルのリストがあります。 glob.glob(path)リターン:Joe_BlackJoe-Blackなるべきフォルダ内の複数のファイル名から1つ以上のサブ文字列を置き換えます。

'./path\\2016_Joe_Black_tall_blond', 
etc. 

。 他の名前でも同じことを行う必要があります。 Tim_Blue等 (私はnames=[Joe_Black, Tim_Blue ...]にすべてのそれらを集めることができますか?)

Tim-Blueとなり、私はオンライン複数のアプローチを発見したが、何がそれを行うのがベストでしょうか?

答えて

0

この目的のためにリストの理解を使用できます。この例では、_-に置き換えます。ファイルの完全なパスではなくファイルの名前を抽出するには、basenameを使用します。

import glob 
import os 

path = "./data/" 
# Make list of paths 
names = glob.glob(os.path.join(path, "*")) 
# Returning a list of file names (without path) where a character is replaced 
names = [os.path.basename(name).replace('_', '-') for name in names] 
関連する問題