簡體   English   中英

在 os.listdir() 中取消排序文件

[英]Unsorting files in os.listdir()

os.listdir()函數中,當我嘗試獲取我的文件時,它會自動對所有文件進行排序,而無需我提供任何排序​​功能。

有沒有辦法在沒有排序的情況下獲得默認輸出?

文檔說:

列表的順序是任意的

沒有辦法“取消排序”這個。 它似乎在您的情況下排序是巧合,也可能不是。

在 CPython 的情況下, listdir函數甚至沒有在os模塊本身中定義,它只是從ntposix模塊轉發相應的函數,具體取決於您使用的操作系統。

例如,您可以在此處查看 POSIX 版本的源代碼:

https://github.com/python/cpython/blob/5efb1a77e75648012f8b52960c8637fc296a5c6d/Modules/posixmodule.c#L3739

條目添加到結果列表的順序是通過重復調用readdir函數來確定的,該函數也沒有指定任何順序:

連續調用 readdir() 讀取文件名的順序取決於文件系統的實現; 不太可能以任何方式對名稱進行排序。


(我現在找不到 Windows 版本。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM