尝试在 下载完成在CWD中创建新"~"

  • 本文关键字:创建 下载 CWD python path cwd
  • 更新时间 :
  • 英文 :


所以我正在python中为自己编写一个脚本,从Ao3下载作品。我有这个安装文件

{
"username": "username",
"password": "password",
"downloadsPath": "~/Downloads/ao3",
"format": "epub"
}

我的问题是下载路径变量。在我的草稿中,我做了以下操作:

def main():
setup = openJson(os.path.join(os.path.dirname(__file__), "setup.json"))
os.makedirs(setup["downloadsPath"], exist_ok=True)

以确保下载目的地存在。除了不是在/home/user/Downloads/中创建ao3文件夹它在CWD中创建了一个新的~/文件夹,因此类似于/cwd/~/Downloads/ao3

我不知道它为什么开始这样做,因为在我开始写剧本的其余部分之前,一切都很好,但在写了一天剧本之后,这种行为就开始了。

正如我在评论中所说,makedirs()不会自动处理名为~的文件夹到用户主目录的扩展,但您可以通过os.path.expanduser()轻松地自己完成,如下所示:

import os
setup = {
"username": "username",
"password": "password",
"downloadsPath": "~/Downloads/ao3",
"format": "epub"
}
downloadsPath = os.path.expanduser(setup["downloadsPath"])
print(downloadsPath)
os.makedirs(downloadsPath, exist_ok=True)

您也可以使用面向对象的pathlib模块(我强烈建议您学习并使用它(执行类似的操作:

from pathlib import Path
downloadsPath = Path(setup["downloadsPath"]).expanduser()
print(downloadsPath)
downloadsPath.mkdir(parents=True, exist_ok=True)

相关内容

  • 没有找到相关文章

最新更新