1

尽管该文件夹有两个文件(a.apk、 和b.apk),但os.listdir函数返回四个文件,例如._b.apk._a.apka.apkb.apk。前两个文件来自哪里?如何防止 Python 列出它们?

软件堆栈:

- OS: macOS Catalina
- Python: 3.7.3

ps 文件存储在外部闪存驱动器中,格式为ExFAT.

4

1 回答 1

1

前两个文件来自哪里?

对于这部分,请参阅以下问题:https ://apple.stackexchange.com/questions/14980/why-are-dot-underscore-files-created-and-how-can-i-avoid-them

如何防止 Python 列出它们?

既不os.listdir()是也不是(仅在 Python 2 中)没有一个参数会立即抑制这种文件,至于底层操作系统,这些是普通文件。正是 UI 做出了这种区分。 os.walk()os.path.walk()

所以你必须自己做:

files = [i for i in os.listdir(".") if not i.startswith("._")]

将是一种选择。

如果要禁止所有隐藏文件(即所有以 a 开头的文件.),请执行

files = [i for i in os.listdir(".") if not i.startswith(".")]

反而。

于 2019-12-12T14:43:02.317 回答