如何知道您何时处于符号链接中

Oli*_*Oli 4 python

如何在Python中知道您所在的目录是否在符号链接中?

我有一个目录/ tmp/foo/kiwi

我创建了一个指向/ tmp/foo的符号链接/ tmp/bar

我进入/ tmp/bar/kiwi

linux命令pwd告诉我我在/ tmp/bar/kiwi,这是正确的.

python命令提示符告诉我我在/ tmp/foo/kiwi:

Python 2.5.1 (r251:54863, Oct  5 2007, 13:36:32) 
[GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.getcwd()
'/tmp/foo/kiwi'
Run Code Online (Sandbox Code Playgroud)

有没有办法在Python中获取我真正的目录?

Joh*_*itb 6

如果您没有找到任何其他内容,则可以使用

os.getenv("PWD")
Run Code Online (Sandbox Code Playgroud)

它不是一个真正的便携式python方法,但适用于POSIX系统.它获取PWD环境变量的值,该值由cd命令(如果不使用cd -P)设置为man cd运行python脚本之前导航到的路径名(请参阅参考资料).当然,python不会改变那个变量.因此,如果您在os.chdir其他地方,该变量将保留其值.

无论如何,作为一个副节点,/tmp/foo/kiwi 所在的目录.我不确定除了shell之外是否知道你真的已经通过另一条路径导航到那个地方,实际上:)