繁体   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