这让我左右为难。。。在
我有一个文件夹里的文件列表。例如
myFiles = ["apple_d_v01.jpg", "apple_d_v02.jpg", "apple_d_v03.jpg", "something_d.jpg", "anotherthing_d.jpg"]
文件“apple_d”有三个版本,使用版本后缀“_vxx”。我希望能够修改列表,使其只有最新版本,以便
^{pr2}$有什么想法吗?在
非常感谢。在
编辑:今天早上我想到了这个问题,它很好地解决了这个问题,但与我最初提出的问题有些不同。谢谢大家的帮助。在
myFiles = ["apple_d.jpg", "apple_dm.jpg", "apple_d_v2.jpg", "apple_d_v3.jpg", "something_d.jpg", "anotherthing_d.jpg", "test2_s_v01", "test2_s_v02.jpg", "test2_s_v03.jpg", "test2_s_v04.jpg" ]
objVersions = []
obj = "cube" #controlled by variable
suf = "d" #controlled by variable
ext = ".jpg" #controlled by variable
for file in myFiles:
if obj + "_" + suf + "_" in file:
objVersions.append(file)
if obj + "_" + suf + "." in file:
objVersions.append(file)
objVersions = sorted(objVersions, reverse=True)
for file in objVersions:
if ext not in file:
objVersions.remove(file)
chosenfile = objVersions[0]
假设
d
是问题中的版本号从您的评论中,我知道您希望保留最新版本的文件。为此,您需要:
^{pr2}$假设版本始终使用_v##的语法,则可以执行以下操作:
我做的这个方法我想会按照你的要求来做,它获取一个文件名的列表并找到最新的版本,然后搜索包含版本标记的所有文件,并删除那些不是最新的文件。如果某些文件只更新到版本2,而其他文件更新到版本3,则它将不起作用。在
这里的这个例子使用了一个类似的方法,但是它将获取文件的最新版本,即使它是一个旧版本文件的最新版本。在
^{pr2}$输入示例:
NameList=[“愚蠢的v01.jpg”,“苹果的v01.jpg”,“苹果的v02.jpg”,“苹果的v03.jpg”,“其他的东西”]
返回[“傻瓜v01.jpg”,“apple\u v03.jpg”,“something\d.jpg”,“anotherthing\u d.jpg”]
相关问题 更多 >
编程相关推荐