尝试在下载中创建一个新目录完成在 cwd 中创建一个新的“~”
attempt to creat a new directory in Downloads finishes to creating a new "~" in the 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()
不会自动将名为 ~
的文件夹扩展到用户的主目录,但是您可以通过 [=16= 自己轻松完成] 如下图:
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)
所以我正在 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()
不会自动将名为 ~
的文件夹扩展到用户的主目录,但是您可以通过 [=16= 自己轻松完成] 如下图:
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)