簡體   English   中英

macOS - os.listdir 返回以“.”開頭的雙項?

[英]macOS - os.listdir returns double items which starts with "."?

盡管文件夾有兩個文件( a.apkb.apk ), os.listdir函數返回四個文件,例如._b.apk._a.apka.apkb.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.

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