我试图递归地列出名为Oracle的子目录中的所有文件名(但不列出其他子目录中的文件)。在
我有以下代码:
for root, dirs, files in os.walk(r"Y:\Data\MXD_DC\DataSourceChange", topdown=True):
for name in dirs:
if fnmatch.fnmatch(name, 'Oracle'):
for filename in files:
fullpath = os.path.join(root, filename)
print "FullPath is: " + fullpath
我只能让它列出所有子目录的所有文件名。它甚至不到名为Oracle的子目录。在
如果要列出特定目录中的文件,可以使用
要从脚本打印目录,请使用
^{pr2}$目前,当您找到一个名为Oracle的目录时,您将列出层次结构中处于同一级别的文件,而不是列出Oracle文件夹中包含的文件,因为
os.walk
返回的元组包含同一级别的目录和文件。在有两种方法可以列出预期的文件:
找到Oracle文件夹后,只使用
walk
中的目录名,并使用listdir
忽略目录名,使用根目录中的最后一个组件并测试它是否是Oracle:
相关问题 更多 >
编程相关推荐