【问题标题】:os.chdir doesnt follow symbolic links [duplicate]os.chdir 不遵循符号链接[重复]
【发布时间】:2017-11-07 20:30:24
【问题描述】:

我编写了一个 Python 3.6 脚本,其中包含以下行:

os.chdir(os.path.dirname(os.path.abspath(__file__)))

我通过符号链接调用脚本并

print(os.getcwd())

直接在它给我链接的位置之后,但我希望 cwd 位于 .py 文件所在的位置。

我所做的每一次搜索都给我带来了一些问题,人们遇到了他们想要反过来的问题,所以不要点击链接,但无论如何它就是这样做的。 我有点困惑,因为我的搜索给我的印象是跟随链接应该是默认行为。直接执行脚本就完美了。

顺便说一下,这是在 Linux 机器上。

【问题讨论】:

  • 谢谢,不知道 .realpath。

标签: python


【解决方案1】:

试试这个:

import os, inspect

main_path = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
print(main_path)

【讨论】:

  • 不,sry.Traceback (most recent call last): File "/home/cor/Desktop/.mylinks/mkenv", line 29, in <module> os.chdir(os.path.dirname(os.path.realpath(inspect.getfile(inspect.currentframe())))) NameError: name 'inspect' is not defined 但链接的副本成功了。
  • 哦,没有看到导入检查。
  • @m_square: 可以吗?
  • 是的,它有效,但必须等待接受答案。
猜你喜欢
  • 2015-11-06
  • 2012-09-19
  • 1970-01-01
  • 2012-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-17
  • 2014-02-20
相关资源
最近更新 更多