我正在制作一个程序,该程序能够打开一个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
但是我不太确定如何仅按数字对这样的字母数字字符串进行排序。
答案 0 :(得分:0)
在循环浏览列表之前,您无需对列表进行排序。试试这个:
for name in sorted(zip_file.namelist()):
print(name)
答案 1 :(得分:0)
namelist
指向内部对象文件列表。您可以尝试对输出数据进行排序:sorted(zip_file.namelist())
,或者可以触摸内部对象zip_file.filelist.sort()
。