Answers:
单程:
import os
os.listdir("/home/username/www/")
glob.glob("/home/username/www/*")
glob.glob
上面的方法不会列出隐藏文件。
自从几年前我最初回答这个问题以来,pathlib已添加到Python。我现在列出目录的首选方法通常涉及对象的iterdir
方法Path
:
from pathlib import Path
print(*Path("/home/username/www/").iterdir(), sep="\n")
['c:\\users']
glob.glob(r'c:\users\*')
(它实际上并没有列出目录,但是会扩展星号,从而完成类似的任务)。
glob.glob
或os.listdir
将会做到。
import glob
ENTER glob.glob(r'c:\users')
似乎只返回ENTER ['c:\\users']
。这是为什么?我想使用glob.glob,因为正如其他用户指出的那样,它应该返回目录的内容,同时也忽略隐藏的文件。这个很重要。
glob
:glob.glob(r'c:\users\*')
从Python 3.5开始,您可以使用os.scandir
。
区别在于它返回文件条目而不是名称。在某些操作系统(例如Windows)上,这意味着您不必os.path.isdir/file
知道它是否是文件,并且可以节省CPU时间,因为stat
在Windows中扫描目录时已完成此操作:
列出目录并打印大于max_value
字节的文件的示例:
for dentry in os.scandir("/path/to/dir"):
if dentry.stat().st_size > max_value:
print("{} is biiiig".format(dentry.name))
(在此处阅读基于性能的详尽答案)
下面的代码将列出目录和目录中的文件。另一个是os.walk
def print_directory_contents(sPath):
import os
for sChild in os.listdir(sPath):
sChildPath = os.path.join(sPath,sChild)
if os.path.isdir(sChildPath):
print_directory_contents(sChildPath)
else:
print(sChildPath)
.XYZ
Unix文件系统上下文中的文件)glob.glob("/home/username/www/.*")
?