我的列表有15个项目,所有这些项目最后都包含“_new”这个词。所以我想创建一个文件夹,其中包含没有'_new'的项目名称。怎么做?
答案 0 :(得分:7)
使用列表推导删除最后4个字符:
[name[:-4] for name in list_of_names]
如果最后只有一些名称包含_new
,请使用条件表达式:
[name[:-4] if name.endswith('_new') else name for name in list_of_names]
答案 1 :(得分:1)
然后我会去正则表达式:
import re
new = [re.sub('_new$', '', fname) for fname in your_list]
但是,如果您更正了名称,则需要使用os.mkdir来创建名称。
答案 2 :(得分:0)
使用带有列表推导的strip方法删除“_new”:
import os
path = r"C:\Program Files\mypath"
[os.makedirs(os.path.join(path,str(name.strip("_new"))) for name in name_list if os.path.exists(path)]