【问题标题】:Finding folder & subfolder in python在python中查找文件夹和子文件夹
【发布时间】:2020-11-05 09:08:42
【问题描述】:
  • 我正在尝试从我的文件夹及其子文件夹中查找所有 .SQL 文件。
  • 我知道如何获取它们,但我得到的输出类似于
c/folder1/folder2/file.sql
  • 我想要像这样的输出
folder1/folder2/file.sql

【问题讨论】:

  • 分享您的代码,以便其他人可以为您复制和修改

标签: python python-3.x directory


【解决方案1】:

您可以使用str.split():

s = 'c/folder1/folder2/file.sql'
s = '/'.join(s.split('/')[1:])

print(s)

输出:

folder1/folder2/file.sql

更新:更动态:

s = 'c/few folders/folder 1/folder 2/file.sql and I get output folder 1/folder 2/file.sql'
s = 'folder 1' + s.split('folder 1')[1]

【讨论】:

  • 非常感谢 Ann,我正在寻找类似的东西.. 是否有可能使它更具动态性.. 示例- c/few folder/folder 1/folder 2/file.sql 我得到输出文件夹 1/文件夹 2/file.sql
  • @shubhamgarg 已更新。
【解决方案2】:

您可能希望使用标准库中的pathlib,尤其是pathlib.Pathglob 方法,如下所示:

import pathlib
parent = pathlib.Path(path_to_parent_directory)
sql_paths = sorted(parent.glob("**/*.SQL"))

获取相对路径和字符串:

relative_paths = [p.relative_to(parent) for p in sql_paths]

您可以继续使用这些路径对象,也可以使用as_posix 方法将它们转换为字符串:[p.as_posix() for p in relative_paths]

【讨论】:

  • 谢谢队友..我会试试这个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-07
  • 1970-01-01
相关资源
最近更新 更多