我想了解如何修改列表的内容,特别是os.listdir()
.
文件名由多个重复的名称组成,后跟一个下划线,然后是后缀,然后是文件扩展名。我试图将列表中的元素缩减为文件名的第一部分,在 之前'_'
,所以:
apple_d.jpg
apple_si.jpg
apple_sg.jpg
成为列表中的一个条目,'apple'
.
我能够摆脱重复并重新按字母顺序排列
list(sorted(set(t)))
但是从下划线开始删除所有内容被证明是棘手的。我试图通过.rpartition("_")[0]
. 但这显然不适用于列表。所以我想知道如何解决这个问题?
编辑:好吧,不在这里工作。仍然得到重复,没有分裂。
objects = os.listdir(dir)
for object in objects:
sorted(set(object.split('_', 1)[0]))
cmds.menuItem(label = object, parent = "objectMenu")
(最后一个命令是一个 Maya 命令,它填充一个选项菜单)。现在很累,所以我得稍后再接再厉。但是非常感谢迄今为止的帮助。肯定很快就会得到这个。