glob.glob读取文件的顺序是什么?如果没有特定顺序,能否指定一个?
我在Python中使用以下命令来读取一个文件夹里所有文件的名字:
import glob
list_of_files = glob.glob(".../*.txt")
但是,"list_of_files"这个列表里的元素好像没有什么特定的顺序。至少我看不出来。比如说,它们是按字母顺序读取的吗?还是按最后修改的时间顺序读取的呢?
1 个回答
4
glob
这个工具是用来获取文件名的,它会调用os.listdir
这个函数。根据listdir
的说明,它会返回一个列表,里面包含指定目录下的所有文件和文件夹的名字。这个列表的顺序是随机的。
所以,你不能指望这个列表的顺序是固定的——即使看起来有顺序,那也可能是因为你使用的系统不同而导致的不可靠。你需要根据自己的需求,自己对文件列表进行排序。
从我看到的情况来看,glob
并没有包含任何对结果进行排序的代码。如果你有兴趣,可以看看这个模块,它其实很短,能让你了解它的内部工作原理。