我的书指出:
调用
os.listdir(path)
将返回路径参数中每个文件的文件名字符串列表。
我试图将文件放在桌面上放置的文件夹中,并且工作得很好。然后我试图获取根文件夹'/'中的文件,它给出了奇怪的结果。
我的根文件夹有5个文件,包括应用程序,库,用户等,但os.listdir('/')
为我提供了大约20-25个列表项的列表,其中一些是应用程序,库,用户, .DS_Store < / strong>, Trashes , .dbfseventsd , .Spotlight-V100 等。请注意,粗体文本列表项似乎没有出现在我手动打开它时的根文件夹。
为什么会发生这种情况,我该怎么办?
答案 0 :(得分:5)
您的根文件夹包含隐藏的目录或文件。它们以.
开头,默认情况下在Finder或ls
中看不到。但是,os.listdir
也会返回它们。
如果您想忽略这些文件,可以使用:
files = [x for x in os.listdir('/') if not f.startswith('.')]
另外,了解如何在OSX上查看这些隐藏文件很有用。要在Finder
中看到它们:
打开Finder
转到Macintosh HD文件夹(从左栏中的设备访问)
按住CMD-Shift-.
(点)
要在终端中查看它们,请运行ls -a /path/to/dir
。