2009-10-09 15 views
16

Olası Çoğalt:
How to get/set logical directory path in pythonOs.getcwd() 'nin dereference symlinks olmayan bir sürümü var mı?

Ben sembolik olarak dizinden çalıştırmak bir Python komut dosyası var ve sembolik olarak yolunu almak için bekliyor, onun içinde os.getcwd() diyoruz Ben onu çalıştırdım. Bunun yerine bana "gerçek" yolunu veriyor ve bu durumda yararlı değil. Bana simetrik versiyonunu vermem gerekiyor.

Python'un bunun için bir komutu var mı?

cevap

13

Çözüm: Genel olarak os.getenv('PWD')

+0

Ah, teşekkürler. Bu kesinlikle işe yarıyor! –

+4

"PWD" ortam değişkeninin 'os.chdir()' tarafından güncellenmediğini unutmayın, bu nedenle hiçbir zaman hiç bağlantı olmadığı zaman bile os.getcwd() 'ile tutarsız olabilir. –

11

bu mümkün değildir. os.getcwd() aramalar POSIX.1-2008 (IEEE Std 1003.1-2008) göre getcwd (3), ve:

güzergah adı, nokta veya nokta-nokta ya da sembolik bağlantılar bir bileşeni ihtiva eder.

os.getenv['PWD'] kabuk bağlıdır ve FreeBSD gelen sh örneğin çalışmaz.

İlgili konular