2017-05-06 26 views
0

我正在使用youtube_dl模块下载YouTube视频。我想获得用户的名称执行文件,所以我可以完成目录路径:PermissionError:访问被拒绝:'C:\ users \#username#'使用getpass模块

import __future__, youtube_dl, getpass 

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

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

但是,当我执行它,我收到以下错误:

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

哪有我解决这个问题,而不必以root身份运行该文件?

回答

0

这似乎与实际权限没有任何关系,而是您尝试写入的路径。您已使用getuser,但尚未将其放入outtmpl字符串中。你可能想要做这样的事情:

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

将使用实际的用户名来运行该程序,而不是一个常量字符串"username"的。