【发布时间】:2020-11-05 09:08:42
【问题描述】:
- 我正在尝试从我的文件夹及其子文件夹中查找所有
.SQL文件。 - 我知道如何获取它们,但我得到的输出类似于
c/folder1/folder2/file.sql
- 我想要像这样的输出
folder1/folder2/file.sql
【问题讨论】:
-
分享您的代码,以便其他人可以为您复制和修改
标签: python python-3.x directory
.SQL 文件。c/folder1/folder2/file.sql
folder1/folder2/file.sql
【问题讨论】:
标签: python python-3.x directory
您可以使用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]
【讨论】:
您可能希望使用标准库中的pathlib,尤其是pathlib.Path 和glob 方法,如下所示:
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]。
【讨论】: