Ich habe ein Projekt, in dem ich auf ein (lokales) Verzeichnis von leeren Git-Repositories zugreifen muss, um bestimmte Elemente aus ihrem Verlauf zu bekommen. Ich brauche eine Funktion, die durch das Verzeichnis und etwas tun, wie iteriert wird:Mit dem discover_repository von pygit2 finde ich mehrere Repositories in einem Verzeichnis
repo = pygit2.discover_repository("/path/to/repo")
aber ich muss in der Lage sein diese in einer for
Schleife zu tun.
Jedes der Repositorys ist für ein anderes Projekt, dessen Namen in einer Liste durch die Verwendung einiger verschachtelter Schleifen an anderer Stelle in meinem Code gespeichert sind.
1) Ist es sinnvoll, die Projektnamen anstelle von repo
oben zu verwenden, wenn ich nur die Projektnamen anhand ihres Listenindex im gesamten Code referenziere (oder stattdessen jedem Repo einen Namen wie repo_n
geben soll) n ist eine Ganzzahl, die bei jeder Iteration der Schleife, die die Repos entdeckt, inkrementiert wird?
2) Ist es möglich, diese Repos in einer for
Schleife zu finden, so dass ich sie alle auf einmal bekommen kann, oder muss ich sie einzeln machen?
3) Wenn es ist möglich, dies in einer Schleife zu tun, wie kann ich über das Erstellen eines Tupel (oder vielleicht ein Wörterbuch) gehen, die den Projektnamen und das neu entdeckte Repository-Objekt enthält?
name = 'repo_'
i = 0
repo_list = {}
items = get_items() # defined elsewhere
for item in os.listdir(dirpath):
i = i + 1 # this was just to add a custom name to the repos located
repo_name = name + str(i)
path_to_repo = os.path.join(dirpath, item)
repo = pygit2.discover_repository(path_to_repo)
repo_list[item] = repo
aber zurückkehrte eine Liste von string
Objekte anstelle einer Liste von Repository
Objekte:
Ich würde gerne wissen, warum meine Frage abgelehnt wurde, damit ich sie verbessern kann. :) – DJGrandpaJ