【问题标题】:Understanding how `os.path.join` works with `os.path.expanduser`了解 `os.path.join` 如何与 `os.path.expanduser` 一起工作
【发布时间】:2017-12-31 19:58:19
【问题描述】:

这行代码是什么意思

datafolder = os.path.join(os.path.expanduser("~"), "Data", "books")

此行是否创建了一个名为 datafolder 的文件夹,如果可以,我可以将文件插入其中并通过该行加载文件

!load getdata.py

【问题讨论】:

    标签: python operating-system


    【解决方案1】:

    来自文档:

    os.path.expanduser(path)

    在 Unix 和 Windows 上,返回参数 ~ 或 ~user 的初始组件替换为该用户的家 目录。

    在 Unix 中,您的主目录由波浪号 (~) 表示。使用os.path.expanduser 将波浪号扩展为实际路径:

    In [765]: os.path.expanduser("~")
    Out[765]: '/Users/Coldspeed'
    

    这个字符串,连同'Data''books',由os.path.join 连接在一起形成一个完全限定的路径:

    In [766]: os.path.join(os.path.expanduser("~"), 'Data', 'books')
    Out[766]: '/Users/Coldspeed/Data/books'
    

    这是一种无需硬编码即可指定主目录的便捷方式。

    【讨论】:

    • 现在我想运行一个文件,但每次运行时,它都会显示 NameError: name'datafolder' 不存在
    • @heyyy 似乎与这个问题无关。请consider marking this answer accepted,然后提出一个新问题:)
    猜你喜欢
    • 2020-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 2012-05-30
    • 1970-01-01
    • 2016-08-17
    相关资源
    最近更新 更多