通过字符检测对字母数字列表进行排序(python)

时间:2019-03-08 20:40:55

标签: python sorting

我正在制作一个程序,该程序能够打开一个zip文件,并按字母数字顺序列出文件名。这是我的代码:

import zipfile
import re

zip_file = zipfile.ZipFile('/home/aaaa/exploit/example.zip','r')
  for name in zip_file.namelist():
  sorted(str(name in zip_file.namelist()))
    print(name)

zip_file.close()

这是输出:

example/
example/txt2.txt
example/txt3.txt
example/txt1.txt

我希望zip_file.namelist()中的姓名这样组织:

example/
example/txt1.txt
example/txt2.txt
example/txt3.txt

但是我不太确定如何仅按数字对这样的字母数字字符串进行排序。

2 个答案:

答案 0 :(得分:0)

在循环浏览列表之前,您无需对列表进行排序。试试这个:

for name in sorted(zip_file.namelist()):
    print(name)

答案 1 :(得分:0)

namelist指向内部对象文件列表。您可以尝试对输出数据进行排序:sorted(zip_file.namelist()),或者可以触摸内部对象zip_file.filelist.sort()