微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

执行 os.walk 时如何忽略文件夹

如何解决执行 os.walk 时如何忽略文件夹

我正在使用 os.walk 来获取所有目录,当我尝试代码时,一切正常,没有错误,但我希望它忽略本地 appdata 中的 Temp 文件夹,我试图从 os.walk 中排除该文件夹,但是它不工作。这是代码

   for subdir,dirs,files in os.walk(self.target_dir):
        if "Temp" in os.sep:
            os.sep.remove("Temp")
        for file in files:
            filepath = subdir + os.sep + file
            for ft in FILETYPES:
                if ft in filepath:
                    self.move(filepath)

解决方法

'/'

os.sep

操作系统用来分隔路径名的字符 组件。对于 POSIX,这是 '\\',对于 Windows,这是 "Temp" in os.sep

因此条件 False 将始终为 if subdir != "Temp":

你需要

  • 重新处理您的情况(可能 os.sep.remove("Temp")
  • 使用 continue 替换 \\\\server\share

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。