Python - 循环文件 - 订单

lu_*_*yah 7 python

有人知道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作为关键字参数,这是一个提供排序顺序的函数.有关更多信息,请参阅文档(先前已链接).