当前位置: 首页 > 面试题库 >

os.walk没有隐藏的文件夹

卫逸春
2023-03-14
问题内容

我需要列出文件夹中包含目录路径的所有文件。我尝试使用os.walk,这显然是完美的解决方案。

但是,它还会列出隐藏的文件夹和文件。我希望我的应用程序不列出任何隐藏的文件夹或文件。有没有可以用来使其不产生任何隐藏文件的标志?

跨平台对我而言并不是很重要,如果只适用于linux(。*模式)就可以了


问题答案:

不,没有选择os.walk()会跳过这些。您需要自己这样做(这很容易):

for root, dirs, files in os.walk(path):
    files = [f for f in files if not f[0] == '.']
    dirs[:] = [d for d in dirs if not d[0] == '.']
    # use files and dirs

注意dirs[:] =切片分配;os.walk递归遍历中列出的子目录dirs。通过更换 元件
dirs与那些满足条件(例如,目录名称不开始.),os.walk()将不能访问不符合标准的目录。

仅当您在以下文档中将topdown关键字参数保留为时True,此方法才有效:os.walk()

如果topdownTrue,调用者可以修改就地(也许使用dirnames中列表del或切片分配),并且walk()将只递归到他们的名字留在子目录
dirnames中 ;
它可以用来修剪搜索,强加特定的访问顺序,甚至可以walk()在调用者walk()再次恢复之前通知其创建或重命名的目录。



 类似资料:
  • Linux 下,名称中第一个字符为 . 的文件或者文件夹,系统会将它们隐藏起来。传统上,这种文件大多是用户的配置文件。 您可以尝试以下操作: cd ~ #进入您的用户目录 ls #查看当前目录下的文件列表 ls -a #查看所有文件的文件列表(包括隐藏文件)。 如果您只想查看隐藏文件,而不包括这两个特殊目录,您可以使用 ls 命令的选项 -A (ls -A) 每个目录下都包含

  • 我有一个bat文件,它启动了一个程序,并且已经输入了我的用户名和密码,我必须让cmd打开,程序才能运行。我想隐藏cmd窗口,以防止我意外关闭,下面是代码: 我需要把这个藏起来,但是在我想要的时候出现在任务管理器中关闭...谢谢

  • 要验证SSL证书,我需要将包含一些文件的隐藏文件夹(“/. well-known”)上传到我的应用程序。 我正在使用eclipse部署java应用程序,但这些文件不会在appEngine上的应用程序中接收。我想它们被过滤掉了。 我试图将隐藏文件夹作为静态文件添加到appengine web。xml,但它没有帮助。 我能上传这些文件夹和文件吗?

  • 我想隐藏在外部存储器上创建的文件夹,获取隐藏文件夹的路径,以共享在隐藏文件夹中找到的数据。我怎样才能做到这一点。从现在起我所做的一切。 分享 共有putExtra(Intent.EXTRA_流,Uri.parse(“file:///sdcard/mdata/“路径”);

  • 问题内容: 我需要快速说明如何使用隐藏的iframe上传AJAX样式的文件。这是与表单有关的HTML代码部分: 以下是相关的PHP: 因此,从本质上讲,PHP获取了文件并检查它是否是文本文件。然后,我想在JavaScript中访问返回的json。那是我感到困惑的地方… 理想情况下,上传完成并加载iframe后,应调用 但是,这始终是空白。本质上,returnVals放置在iframe主体中,但是在

  • 问题内容: 我在下面有HTML代码,并且文本周围没有任何HTML。有什么方法可以隐藏 “ p”标记后 的文本“ Enter” ? 无法用div或任何其他标签包装它,因此我需要一些不同的决定,例如JavaScript或CSS? 问题答案: 我会考虑使用font-size的CSS hack: 另一个想法是: