[英]macOS - os.listdir returns double items which starts with "."?
盡管文件夾有兩個文件( a.apk
和b.apk
), os.listdir
函數返回四個文件,例如._b.apk
、 ._a.apk
、 a.apk
和b.apk
。 前兩個文件從哪里來? 如何防止 Python 列出它們?
軟件棧:
- OS: macOS Catalina
- Python: 3.7.3
ps 文件存儲在外部閃存驅動器中,其格式為ExFAT
。
前兩個文件從哪里來?
對於這一部分,請參閱此問題: https : //apple.stackexchange.com/questions/14980/why-are-dot-underscore-files-created-and-how-can-i-avoid-them
如何防止 Python 列出它們?
os.listdir()
和os.walk()
和os.path.walk()
(僅在 Python 2 中)都沒有參數立即抑制此類文件,至於底層操作系統,這些都是普通文件。 正是 UI 做出了這種區分。
所以你必須自己做:
files = [i for i in os.listdir(".") if not i.startswith("._")]
將是一種選擇。
如果要取消所有隱藏文件(即所有以.
開頭的文件),請執行
files = [i for i in os.listdir(".") if not i.startswith(".")]
反而。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.