【问题标题】:How to calculate relative path in Python?如何在 Python 中计算相对路径?
【发布时间】:2017-06-15 22:18:34
【问题描述】:

如果我写

current_path = os.path.dirname(os.path.abspath(__file__))

然后我得到当前运行文件的路径。

我需要的是从当前文件到的绝对路径:

'../Data/my_data.csv'

如何使用os 输出'../Data/my_data.csv' 的绝对路径而不更改我的工作目录或其他任何内容?

【问题讨论】:

标签: python


【解决方案1】:

你可以这样做

'{}/../Data/my_data.csv'.format(current_path)

【讨论】:

  • 没问题,我发现它比使用 '%s' % string 干净一点
【解决方案2】:

你可以使用 os.path.join:

current_path = os.path.dirname(os.path.abspath(__file__))
new_path = os.path.join(current_path, '..', 'Data', 'my_data.csv')

【讨论】:

  • 这与直接使用os.path.abspath('../Data/my_data.csv') 有何不同?
  • 这取决于您是否从包含文件的目录运行脚本。
  • + 它是更多的多平台解决方案。 Python os 模块根据使用的系统处理正确的使用'\'、'/'。
  • 好点,我不经常使用 windows 进行编程,但遇到了这个问题,所以这可能是一般性的最佳方法。
  • 我还没有遇到过/ 不能用作路径分隔符的平台。它适用于 Windows、Mac、Linux ...
猜你喜欢
  • 2019-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-13
  • 2011-11-02
  • 2020-07-16
  • 1970-01-01
相关资源
最近更新 更多