尽管该文件夹有两个文件(a.apk
、 和b.apk
),但os.listdir
函数返回四个文件,例如._b.apk
、._a.apk
、a.apk
和b.apk
。前两个文件来自哪里?如何防止 Python 列出它们?
软件堆栈:
- OS: macOS Catalina
- Python: 3.7.3
ps 文件存储在外部闪存驱动器中,格式为ExFAT
.
尽管该文件夹有两个文件(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()
是也不是(仅在 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(".")]
反而。