Python os.walk()方法

蒂米

我是Stackoverflow的新手。在编写以下代码时,我从该论坛中获得了很多帮助。下面的代码搜索系统驱动器上的所有目录/子目录,但在查找“ D”驱动器时,它仅查找那些我在其中运行该程序的文件夹之后的目录和子目录。

我的意思是,如果我从运行该程序D:\Dir1\Dir2\Dir3\myCode.py,它将搜索D:\Dir1\Dir2\Dir3\整个D驱动器之后的目录和子目录从同一位置运行时,它可与其他驱动器配合使用。这是我的代码:

import os, string
total=0
for driveLetter in string.ascii_uppercase:
    try:
        if os.path.exists(driveLetter+':'):
            for root, dirs, docs in os.walk(top=driveLetter+':', topdown=True):            
                for name in docs:
                    try:
                        if (name.endswith(".docx")) or (name.endswith(".doc")):
                            print(os.path.join(root, name))
                            total+=1                          
                    except:
                        continue
    except:
        continue
print ('You have a total of ' + str(total) + ' word documents in your System')
安蒂·哈帕拉(Antti Haapala)

在Windows中,每个进程可以在每个驱动器上分别设置一个当前工作目录D:表示驱动器D上当前工作目录。在这里发生该现象,因为在所有其他驱动器上,当前工作目录被设置为根目录,但是在D:这上是D:\Dir1\Dir2\Dir3\因为工作目录已更改为脚本的位置。明确引用目录D:,您需要使用D:\因此

drive_root = drive_letter + ':\\'  # double \\ because this is a Python string literal
if os.path.exists(drive_root):
    for root, dirs, docs in os.walk(drive_root, topdown=True):            

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python os.walk()失败

来自分类Dev

Python:为什么我使用os.walk的方法未返回所有可用路径?

来自分类Dev

Python error os.walk IOError

来自分类Dev

Python 3 OS Walk Unicode异常

来自分类Dev

遍历Python的os.walk()混乱

来自分类Dev

Python - recursive directory hit with os.walk()

来自分类Dev

Python错误os.walk IOError

来自分类Dev

Python os.walk和符号链接

来自分类Dev

遍历Python的os.walk()混乱

来自分类Dev

Python中os.walk的时间复杂度

来自分类Dev

Python os.walk()变音u'\ u0308'

来自分类Dev

没有os.walk的Python递归目录读取

来自分类Dev

以Python os.walk为例的递归定义

来自分类Dev

Python os.walk是否支持Unicode / UTF-8?

来自分类Dev

python3:os.walk有问题

来自分类Dev

Python-用os.walk()递归目录

来自分类Dev

如何全局覆盖/重载python函数(os.path.walk)?

来自分类Dev

Recursion definition using Python os.walk as an example

来自分类Dev

os.walk设置起点和终点-python

来自分类Dev

为什么python的os.walk()无法反映目录删除?

来自分类Dev

Python os.walk始终附加根目录

来自分类Dev

如何使用os.walk()python计算目录的大小?

来自分类Dev

python3:os.walk有问题

来自分类Dev

以Python os.walk为例的递归定义

来自分类Dev

Python os.walk和打开应用程序/文件

来自分类Dev

Python os.walk()变音u'\ u0308'

来自分类Dev

Python 2.7中的Tkinter ProgressBar和Os.Walk

来自分类Dev

Python os.walk,处理子目录中的文件

来自分类Dev

使用os.walk()时如何排除目录?其他方法无效