【问题标题】:Python os.path.abspath unexpected resultPython os.path.abspath 意外结果
【发布时间】:2012-08-17 11:44:25
【问题描述】:

当我启动这样的程序时

python Script.py

abspath 像那样返回 sth

os.path.abspath("../../house/kitchen") == "/ex1/ex2/house/kitchen"

但是当我这样开始时,我得到了

python ex3/Script.py 
os.path.abspath("../../house/kitchen") == "/house/kitchen"

我认为我需要将工作地点设置为脚本所在的位置,但如何做到这一点。

os.chdir(os.path.dirname(os.path.realpath(sys.argv[0])))

这解决了我的问题

【问题讨论】:

  • 您是说在您的系统上os.path.abspath 的结果不是以斜杠开头吗?您可以发布表现出这种行为的a demo complete program 吗?你在什么操作系统上运行这个程序?
  • 这是完整的程序。它以斜线开头,我无法从虚拟机复制。

标签: python python-3.x python-2.6


【解决方案1】:

当给定一个相对路径参数时,abspath 从你的当前目录开始,而不是脚本的当前目录,所以如果你的当前目录改变了输出就会改变。

【讨论】:

    猜你喜欢
    • 2020-03-15
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 2017-11-08
    • 2015-11-03
    相关资源
    最近更新 更多