擅长:python、mysql、java
<p>我的词条:不那么简洁,但希望可读。在</p>
<pre><code>import sys, os
from collections import defaultdict
filenames = sys.argv[1:]
# collect like-named files
groups = defaultdict(set)
for filename in filenames:
key = filename.split('.')[0].split("-")[0]
groups[key].add(filename)
# work on each group
for names in groups.values():
target_name = sorted(names)[0] # or min(names, key=len), or whatever
largest_file = max(names, key=os.path.getsize)
os.rename(largest_file, target_name)
to_remove = names.difference((largest_file, target_name))
for name in to_remove:
os.remove(name)
</code></pre>