macOS - os.listdir returns 以“.”开头的双项?
macOS - os.listdir returns double items which starts with "."?
尽管该文件夹有 两个 个文件(a.apk
和 b.apk
),os.listdir
函数 returns 四个 个文件,例如._b.apk
、._a.apk
、a.apk
和b.apk
。前两个文件来自哪里?我怎样才能阻止 Python 列出它们?
软件堆栈:
- OS: macOS Catalina
- Python: 3.7.3
p.s。文件存储在外部闪存驱动器中,格式为 ExFAT
.
Where do the first two files come from?
How can I prevent Python to list them?
os.listdir()
nor os.walk()
nor os.path.walk()
(仅在Python2)都没有参数立即抑制这种文件,至于底层OS ,这些是普通文件。是 UI 造成了这种区别。
所以你必须自己做:
files = [i for i in os.listdir(".") if not i.startswith("._")]
将是一种选择。
如果您想隐藏所有隐藏文件(即所有以 .
开头的文件),请执行
files = [i for i in os.listdir(".") if not i.startswith(".")]
相反。
尽管该文件夹有 两个 个文件(a.apk
和 b.apk
),os.listdir
函数 returns 四个 个文件,例如._b.apk
、._a.apk
、a.apk
和b.apk
。前两个文件来自哪里?我怎样才能阻止 Python 列出它们?
软件堆栈:
- OS: macOS Catalina
- Python: 3.7.3
p.s。文件存储在外部闪存驱动器中,格式为 ExFAT
.
Where do the first two files come from?
How can I prevent Python to list them?
os.listdir()
nor os.walk()
nor os.path.walk()
(仅在Python2)都没有参数立即抑制这种文件,至于底层OS ,这些是普通文件。是 UI 造成了这种区别。
所以你必须自己做:
files = [i for i in os.listdir(".") if not i.startswith("._")]
将是一种选择。
如果您想隐藏所有隐藏文件(即所有以 .
开头的文件),请执行
files = [i for i in os.listdir(".") if not i.startswith(".")]
相反。