【问题标题】:Pythonic way to extract the file name and its parent directory from the full file path?从完整文件路径中提取文件名及其父目录的 Pythonic 方法?
【发布时间】:2015-05-21 12:06:01
【问题描述】:

我们有文件的完整路径:

/dir1/dir2/dir3/sample_file.tgz

基本上,我想以这个字符串结尾:

dir3/sample_file.tgz

我们可以使用regex.split("/") 解决它,然后将列表中的最后两项连接起来.....但我想知道我们是否可以使用os.path.dirname() 或其他东西来做这个更时尚像这样?

【问题讨论】:

    标签: python path directory


    【解决方案1】:
    import os
    full_filename = "/path/to/file.txt"
    fname = os.path.basename(full_filename)
    onedir = os.path.join(os.path.basename(os.path.dirname(full_filename)), os.path.basename(full_filename))
    

    从来没有人说 os.path 很好用,但不管平台如何,它都应该做正确的事情。

    如果你在 python3.4(或更高版本,大概),有一个pathlib

    import os
    import pathlib
    p = pathlib.Path("/foo/bar/baz/txt")
    onedir = os.path.join(*p.parts[-2:])
    

    【讨论】:

    • 如果你一直保持到 pathlib 会更好:onedir = pathlib.Path(*p.parts[-2:])
    猜你喜欢
    • 2014-11-21
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多