【问题标题】:Accessing relative path in Python在 Python 中访问相对路径
【发布时间】:2010-06-01 22:28:02
【问题描述】:

我正在运行 Mac OS X 环境,并且习惯使用 ~/ 来提供对当前用户目录的访问权限。

例如,在我的 python 脚本中,我只是想使用

os.chdir("/Users/aaron/Desktop/testdir/")

但是想用

os.chdir("~/Desktop/testdir/")

我在尝试运行此程序时收到没有此类文件或目录的错误。有什么想法吗?

【问题讨论】:

    标签: python path


    【解决方案1】:

    您需要使用os.path.expanduser(path)

    os.chdir("~/Desktop/testdir/") 正在当前工作目录中查找名为“~”的目录。

    还要注意该函数的文档 - 特别是您需要正确设置 $HOME 环境变量以确保扩展发生。大多数情况下这不会是一个问题,但如果扩展没有发生,那就是可能的原因。

    【讨论】:

    • 我不知道那个! +1
    • 非常酷,我该如何正确使用它? “路径”应该是“/Desktop/testdir”吗?以及如何实际更改到该目录。非常感谢。
    • 只需将它嵌套在您现有的 chdir 调用中,如下所示:os.chdir(os.path.expanduser("~/..."))
    • 这比我尝试做的要容易得多。再次感谢您的帮助。
    【解决方案2】:

    来自http://docs.python.org/library/os.path.html

    os.path.expanduser(path)
    

    如果已定义,将扩展为用户主目录。

    【讨论】:

    • 我试过 os.path.expanduser("/Desktop/testdir") 它告诉我没有这样的文件或目录:'/Desktop/test/' 你知道我做错了什么吗?最终我想 chdir 到 ~/Desktop/testdir
    • os.path.expanduser("~/Desktop/testdir") 是你需要的,正如 Dan Head 所说,这取决于 $HOME 的设置。
    猜你喜欢
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 2019-03-04
    相关资源
    最近更新 更多