编辑2:
已解决,请参阅下面的答案 waaaaaaaay。
编辑:
敲了几下头后,我几乎做到了。这是我的(没有清理,你可以说我正在排除一堆东西)代码:
这就是问题所在:它有时会起作用,而其他时候则不是那么好。例如,它可以完美地处理某些文件,然后留下最长的代码而不是最短的代码,而对于其他文件,它可能会删除 5 个重复项中的 2 个,留下 3 个。如果它只是可靠地执行,我也许可以修复它,但我不理解看似随机的行为。有任何想法吗?
原帖:
只是让你知道,我刚开始使用 python,我使用的是 python 3.3
所以这是我的问题:
假设我有一个包含大约 5,000 个文件的文件夹。其中一些文件的名称非常相似,但内容不同,扩展名可能不同。在一个可读的名称之后,有一个代码,它前面总是有一个“(”或一个“[”(不带引号)。名称和代码用空格分隔。例如:
something (TZA).blah
something [TZZ].another
hello (YTYRRFEW).extension
something (YJTR).another_ext
我试图只获取其中一个东西的东西,并删除其他东西。另一个可能很重要的事实是,通常有多个代码,例如“something (THTG) (FTGRR) [GTGEES!#!].yet_another_random_extension”,全部由空格分隔。尽管 100% 没关系,但最好保存代码最少的那个。
我制作了一些(非常非常短的)代码来获取所有文件的列表:
import glob
files=[]
files=glob.glob("*")
但在此之后我几乎迷路了。任何帮助将不胜感激,即使它只是为我指明了正确的方向!