【发布时间】:2014-09-29 15:52:32
【问题描述】:
我需要一些关于我的 Linux 系统的 python 编码帮助。
我正在尝试对包含大约 30 个文件的目录进行排序。大多数文件是重复的,但每次开发新代码时都会增加。我需要为每组文件选择最高版本。
我需要从下面显示的文件列表中获取 AzMesa、AzChandler 和 AzPhoenix 的最高版本。版本号总是跟在第二个“-”之后,在句点“.”之前。这种格式不会改变,尽管有时城市会发生变化,但它总是以 Az 开头,总是以 rpm 结尾,有时“13.13”会随着我们发布代码而增加。
AzMesa-13.13-1.x86_64.rpm
AzMesa-13.13-2.x86_64.rpm
AzMesa-13.13-3.x86_64.rpm
AzChander-13.13-1.x86_64.rpm
AzChander-13.13-2.x86_64.rpm
AzPhoenix-13.13-1.x86_64.rpm
AzPhoenix-13.13-2.x86_64.rpm
AzPhoenix-13.13-3.x86_64.rpm
AzPhoenix-13.13-4.x86_64.rpm
AzPhoenix-13.13-5.x86_64.rpm
下面的代码捕获了所有以“Az”开头并以“rpm”结尾的文件。然后它会打印出包名称并打印出版本。
for name in glob.glob('Az*.rpm'):
Package,Trash,CombinedVersion=name.split("-")
print Package
Version,Trash,Trash2=CombinedVersion.split(".")
print Version
我需要一种方法来仅从具有最高版本号的每个组中捕获一个文件并将该输出发送到文件。
任何帮助将不胜感激。我不自称是python开发者,只是尽力而为。
【问题讨论】: