【问题标题】:Python: shutil.rmtree directory bugPython:shutil.rmtree 目录错误
【发布时间】:2020-10-14 18:21:19
【问题描述】:

我试图让我的 %LOCALAPPDATA% 路径工作而不是硬编码它,但它说它不存在。

这行得通

dir_path = 'C:\\Users\\Hey123\\AppData\\Local\\Somefolder'
shutil.rmtree(dir_path)

但我想在我的路径中使用 %LOCALAPPDATA%,这就是我想要开始工作的原因

dir_path = '%LOCALAPPDATA%\\Somefolder'
shutil.rmtree(dir_path)

it gives this error

【问题讨论】:

    标签: python python-3.x python-2.7 shutil


    【解决方案1】:

    %LOCALAPPDATA% 只是在 cmd 中使用的有效语法。这在 python 中并不神奇。 '%LOCALAPPDATA%\\Somefolder' 只是 '%LOCALAPPDATA%\\Somefolder' - 不多不少。

    你想要的是os.environ,因为LOCALAPPDATA是一个环境变量-

    dir_path = os.path.join(os.environ['LOCALAPPDATA'], 'Somefolder')
    

    这将为您很好地构建目录路径

    【讨论】:

    • os.environ['LOCALAPPDATA'] 替换os.getenv('LOCALAPPDATA') 会更好一些。如果未定义,前者将返回 None,从而导致来自 os.path.join 的令人困惑的错误,该错误不会直接暗示缺少的环境变量。后者将直接并立即提出KeyError,它更清楚地告诉您出了什么问题。
    猜你喜欢
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 2013-04-12
    相关资源
    最近更新 更多