【问题标题】:Deleting files from download folder using Python使用 Python 从下载文件夹中删除文件
【发布时间】:2019-02-13 03:26:46
【问题描述】:

我正在尝试从我的下载文件夹中删除文件,但我收到错误消息,显示为 PermissionError: [WinError 5] Access is denied: 'C:\\Users\\Downloads'

我尝试以管理员身份运行 Visual Studio 并添加代码以提升权限,但我仍然收到错误

我的代码是

ASADMIN = 'asadmin'

if sys.argv[-1] != ASADMIN:
    script = os.path.abspath(sys.argv[0])
    params = ' '.join([script] + sys.argv[1:] + [ASADMIN])
    shell.ShellExecuteEx(lpVerb='runas', lpFile=sys.executable, lpParameters=params)

def deleteFiles():
    folder = "C:\\Users\\Downloads"
    for f in glob.glob(folder):
        os.remove(f)
    return;

deleteFiles()

谁能帮忙删除这些文件?谢谢

【问题讨论】:

  • 您作为用户没有该文件夹的权限
  • glob.glob('C:\\Users\\Downloads') 不返回该目录中的文件列表;它返回目录名称本身。也许您的意思是glob.glob('C:\\Users\\Downloads\\*.*')

标签: python delete-file removeall


【解决方案1】:

glob.glob() 返回与通配符表达式匹配的所有文件名的列表。即如果你传递了'/tmp/*.py',它可能会返回列表['/tmp/bar.py', '/tmp/baz.py', 'tmp/foo.py']

您向它传递了一个不包含通配符的字符串,因此它只是将原始字符串返回给您,因此您的代码最终调用了os.remove('C:\\Users\\Downloads')

【讨论】:

  • 谢谢,我也注意到了。我输入了*,它起作用了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-02
  • 1970-01-01
  • 2021-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多