【问题标题】:How to get the path of a file, in an absolut way如何以绝对的方式获取文件的路径
【发布时间】:2015-05-05 17:26:52
【问题描述】:

如果我在 /home/usr 并且我调用 python /usr/local/rcom/bin/something.py

我怎样才能让 something.py 中的脚本知道他驻留在 /usr/local/rcom/bin 中?
os.path.abspath 是用 cwd 计算的,在这种情况下是 /home/usr

【问题讨论】:

标签: python file python-3.x path


【解决方案1】:

您可以依赖脚本/模块的__file__ 属性。

import os

path, filename = os.path.split(os.path.abspath(__file__))
print path

打印

 /usr/local/rcom/bin

如果在您的something.py 中执行。

编辑:是的,您需要考虑绝对路径;-),即os.path.abspath

【讨论】:

    【解决方案2】:

    在 something.py 里面:

    import os
    print os.path.dirname(__file__)
    

    请注意,这仅在您使用 something.py 的绝对路径调用时才有效。如果您使用相对路径(例如 scripts/something.py),您需要将代码更改为:

    import os
    print os.path.dirname(os.path.abspath(__file__))
    

    【讨论】:

      猜你喜欢
      • 2017-03-16
      • 2010-09-18
      • 2013-06-22
      • 2021-10-18
      • 2012-04-24
      • 2011-01-21
      • 2016-11-19
      相关资源
      最近更新 更多