如何在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'
有没有办法在Python中获取我真正的目录?
如果您没有找到任何其他内容,则可以使用
os.getenv("PWD")
它不是一个真正的便携式python方法,但适用于POSIX系统.它获取PWD
环境变量的值,该值由cd
命令(如果不使用cd -P
)设置为man cd
运行python脚本之前导航到的路径名(请参阅参考资料).当然,python不会改变那个变量.因此,如果您在os.chdir
其他地方,该变量将保留其值.
无论如何,作为一个副节点,/tmp/foo/kiwi
是你所在的目录.我不确定除了shell之外是否知道你真的已经通过另一条路径导航到那个地方,实际上:)