2012-09-12 62 views
1

我循环,像这样一堆文件:遍历文件,巨蟒

for file in glob('./*.dat'): 
      print file 

和输出始终是以下内容:

./SAN0.dat 
./SAN4.dat 
./SAN1.dat 
./SAN2.dat 
./SAN3.dat 
./SAN5.dat 
./SAN6.dat 
./SAN7.dat 

我怎么能重复他们为了(例如,SAN1.dat将是第二个例子)?

谢谢!

回答

6
for file in sorted(glob('./*.dat')): 
+0

注意,如果文件数超过10这个更大的都不行,因为'“SAN10.dat”'会前'“SAN2.dat”'来。在这种情况下,您需要创建一个将文件名中的数字转换为“int”的函数,并将'key'参数设置为此函数来调用'sorted'。 –

2
lst = glob('./*.dat') 
lst.sort()