尽管该文件夹有两个文件(a.apk
和b.apk
),os.listdir
函数返回四个文件,例如._b.apk
、._a.apk
、a.apk
、和b.apk
。前两个文件从哪里来?如何阻止 Python 列出它们?
软件堆栈:
- OS: macOS Catalina
- Python: 3.7.3
附:文件存储在外部闪存驱动器中,格式为 ExFAT
。
最佳答案
Where do the first two files come from?
对于这一部分,请参阅这个问题:https://apple.stackexchange.com/questions/14980/why-are-dot-underscore-files-created-and-how-can-i-avoid-them
How can I prevent Python to list them?
都不是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(".")]
相反。
关于python - macOS - os.listdir 返回以 "."开头的双项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59306977/