2017-05-06 6 views
0

Ich benutze das youtube_dl-Modul, um Youtube-Videos herunterzuladen. Ich möchte den Namen des Benutzers, um die Datei herunterzuladen ausführen, so kann ich den Pfad zu dem Verzeichnis vervollständigen:PermissionError: Zugriff verweigert: 'C: \ users \ # benutzername #' mit dem getpass-Modul

import __future__, youtube_dl, getpass 

username = getpass.getuser() 
url = input('Url: ') 

options = {'outtmpl': 'C:/users/"username"/Desktop/%(title)s-%(id)s.%(ext)s',} 

Aber wenn ich es ausführen, bekomme ich folgende Fehlermeldung:

PermissionError: [WinError 5] Access is denied: 'C:\\users\\#username#' 

Wie kann Ich löse dieses Problem, ohne die Datei als root ausführen zu müssen?

Antwort

0

Dies scheint nicht mit tatsächlichen Berechtigungen zu tun zu haben, sondern eher mit dem Pfad, in den Sie schreiben möchten. Sie haben getuser verwendet, aber Sie haben es nicht in die outtmpl Zeichenfolge eingefügt. Sie wollen wahrscheinlich so etwas wie dies zu tun:

options = {'outtmpl': 'C:/users/{username}/Desktop/%(title)s-%(id)s.%(ext)s'.format(username=username),} 

, die die tatsächlichen Benutzernamen läuft das Programm statt einer konstanten "username" Zeichenfolge verwendet wird.

Verwandte Themen