gpt4 book ai didi

python - 为什么 `os.listdir` 不接受带有 "~"的路径?

转载 作者:行者123 更新时间:2023-12-01 23:05:31 32 4
gpt4 key购买 nike

当你使用 python 时,如果你说:

dd="~/this/path/do/exist/"

你也是

os.listdir(dd)

你得到

FileNotFoundError: [Errno2] no such file or directory '~/this/path/do/exist/'

即使路径存在。

为什么会这样,如何纠正?


此外,如果您使用 argparse 传递带有 ~ 的路径,它会转换为完整路径,并且不会发生此问题。

最佳答案

~ 由 shell 解释,这就是当您通过 argparse 在命令行上使用它时它起作用的原因。

使用os.path.expanduser评估~

import os
os.path.expanduser("~/this/path/do/exist/")

如果你正在使用pathlib.Path,你可以使用Path.expanduser() .

from pathlib import Path
Path("~/this/path/do/exist/").expanduser()

关于python - 为什么 `os.listdir` 不接受带有 "~"的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70965854/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com