如果包含给定字符串,则排除目录路径

时间:2017-12-27 19:13:48

标签: python-3.x

如果包含字符串,我希望从进一步操作中排除任何路径。

代码示例:

import os

Dirpath = input('What directory path e.g. C:/    ')
FileType = input('What Ext type to search for e.g. txt    ')

for root, dirs, files in os.walk(Dirpath):
    for file in files:
        if file.endswith(FileType):
            print(os.path.join(root, file))

我需要忽略包含Dropbox的任何路径,例如

c:/Users\ljh36\Dropbox\Shared Folders\walk.tmp

可以给出任何指导吗?

1 个答案:

答案 0 :(得分:0)

os.walk中的示例显示删除名为CVS的目录 从dirs列表。您可以根据代码进行调整。

输入字符串中的正斜杠可以更改为a 在字符串之前使用r反斜杠,这样你就不会 需要通过额外的反斜杠来逃避它。

import os

Dirpath = input(r'What directory path e.g. C:\    ')
FileType = input('What Ext type to search for e.g. txt    ')

for root, dirs, files in os.walk(Dirpath):

    # Remove 'Dropbox' from the list of dirs to walk.
    if 'Dropbox' in dirs:
        dirs.remove('Dropbox')

    for file in files:
        if file.endswith(FileType):
            print(os.path.join(root, file))