Python GitLab 如何获取项目中的所有文件名?

Sai*_*tro 2 python git api gitlab

我想获取 git 项目中的所有文件( python 文件 esp )。虽然我可以根据文件名输入一次访问一个文件。我不确定如何获取目录下的所有文件名。

我现在的代码如下

gl=gitlab.Gitlab('https://git.sys.xxx.com', private_token=pwd, api_version=4)
gl.auth()
project=gl.projects.get('hadoop-d/xyz')
a='src/main/python/xyz_inbound/baseline/*.*'
b='file_name'
c='.py'
d=a+b+c
f=project.files.get(file_path=d, ref='master')

Run Code Online (Sandbox Code Playgroud)

eva*_*n54 6

您可以从这里使用此命令

# list the content of the root directory for the default branch
items = project.repository_tree()

# list the content of a subdirectory on a specific branch
items = project.repository_tree(path='docs', ref='branch1')
Run Code Online (Sandbox Code Playgroud)

我认为对于您的用例,您需要类似以下内容:

items = project.repository_tree(path='src/main/python/xyz_inbound/baseline',
                                ref='master', recursive=True, all=True)
filenames = [f.path for f in items if f.path[-3:] == '.py']
Run Code Online (Sandbox Code Playgroud)