[英]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.