Bei meinem Restic Python3 Projekt möchte ich die Funktion
--exclude-file=
mit einbauen. Meine ersten Versuche
process = subprocess.run(['restic','-r',backups[liste2[row]]['repository'],'backup',backups[liste2[row]]['source'],'--exclude-file=',(backups[liste2[row]]['exclude'])],...
Das geht aber nicht, da schmeißt es ständig
open : no such file or directory
Ok, was machen? Da es ja auf der Konsole ganz normal funktioniert.
restic -r /home/frank/restic_test/ backup /home/frank/Bilder --exclude-file=excludes.txt
Ok, ich muss das irgendwie als String zusammenfassen. Nach einiger Zeit habe ich dann das hier gefunden.
process = subprocess.run(['restic','-r',backups[liste2[row]]['repository'],'backup',backups[liste2[row]]['source'],'--exclude-file=%s' % (backups[liste2[row]]['exclude'])],
Der entscheidende Teil
'--exclude-file=%s' % (backups[liste2[row]]['exclude'])]
Hier wird an die Stelle, wo der Pfad reinkommt, ein Platzhalter gesetzt %s Den füllen wir dann mit der Variable die in den Klammern dahinter steht. Jetzt funktioniert es
Würde auch mit mehreren Variablen gehen.
subprocess('Programm %s %s' % (option1, option2))
Quelle: https://www.python-forum.de/viewtopic.php?t=4434