我有一个文件列表,我想在其名称中替换一个子字符串。 glob.glob(path)
返回:
'./path\\2016_Joe_Black_tall_blond',
etc.
其中Joe_Black
应成为Joe-Black
。
我必须对其他名称做同样的事,例如Tim_Blue
变为Tim-Blue
等
(我可以将所有这些收集到names=[Joe_Black, Tim_Blue ...]
吗?)
我在网上找到了多种方法,但最好的做法是什么呢?
答案 0 :(得分: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]