有人知道Python在循环时如何排列文件吗?我需要以固定顺序循环遍历文件夹中的某些文件(最好根据文件名以字母数字的形式),但Python似乎以相当随机的顺序循环遍历它们.到目前为止,我正在使用此代码:
filelist = glob.glob(os.path.join(path, 'FV/*.txt'))
for infile in filelist:
#do some fancy stuff
print str(infile)
Run Code Online (Sandbox Code Playgroud)
并且文件名按照对我来说不太明显的顺序打印.
有没有简单的方法来预定义该循环的某个顺序?谢谢!
Gar*_*tty 21
据我所知,在文档glob.glob()中没有明确的顺序.鉴于此,最简单的方法是对返回给您的列表进行排序:
filelist = glob.glob(os.path.join(path, 'FV/*.txt'))
for infile in sorted(filelist):
#do some fancy stuff
print str(infile)
Run Code Online (Sandbox Code Playgroud)
这只是排序为字符串 - 它提供了您正在寻找的简单固定顺序.如果您需要特定订单,则将sorted()其key作为关键字参数,这是一个提供排序顺序的函数.有关更多信息,请参阅文档(先前已链接).
| 归档时间: |
|
| 查看次数: |
7501 次 |
| 最近记录: |