【问题标题】:Python find difference between file pathsPython查找文件路径之间的差异
【发布时间】:2016-07-05 22:13:02
【问题描述】:

我有一堆文件路径,比如:

path1 = "./base/folder1/subfolder"
path2 = "./base/folder2/"

我正在尝试编写一个可以为我提供路径之间相对差异的函数。使用上面的路径:

>>> get_path_difference(path1, path2)
"../../folder2"
>>> get_path_difference(path2, path1)
"../folder1/subfolder"

我查看了os.path 模块,因为这似乎应该是一种常见的事情,但要么我不知道术语,要么它不存在。

【问题讨论】:

    标签: python file path filepath difference


    【解决方案1】:

    你可以使用os.path.relpath:

    >>> path1 = "./base/folder1/subfolder"
    >>> path2 = "./base/folder2/"
    >>> import os
    >>> os.path.relpath(path1, path2)
    '../folder1/subfolder'
    >>> os.path.relpath(path2, path1)
    '../../folder2'
    

    【讨论】:

    • 原来如此。谢谢
    • (由于某种原因,您无法在发布后五分钟内将答案标记为已接受。所以我去忘记了。)
    【解决方案2】:

    你想要os.path.relpath:

    >>> import os
    >>>
    >>> path1 = "./base/folder1/subfolder"
    >>> path2 = "./base/folder2/"
    >>>
    >>> os.path.relpath(path1, path2)
    '../folder1/subfolder'
    >>>
    >>> os.path.relpath(path2, path1)
    '../../folder2'
    >>> 
    

    【讨论】:

      猜你喜欢
      • 2014-02-02
      • 2013-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-08
      • 2011-01-24
      相关资源
      最近更新 更多