我注意到IPython中路徑的工作方式,有些陌生。我使用的是1.2.1版本,但我也在1.1版本中看到過這個問題。我注意到的第一件事是%pwd和%cd魔術給出了不同的結果。如果我使用os.getcwd(),我發現%cd宏看起來是正確的。任何人都可以解釋爲什麼這是發生?ipython cd magic在Windows中似乎無法正常工作
%pwd
Out[1]: u'C:\\Users\\bubnabm1\\Documents\\Python Scripts'
%cd
C:\emacs
import os
os.getcwd()
Out[4]: 'C:\\emacs'
我注意到第二(可能是相關的)問題是,當我使用%CD魔法來改變我的路它打印到標準輸出的新路徑,並os.getcwd()顯示的路徑已經改變,但如果我再次調用%cd,則會打印舊路徑,就好像沒有任何更改。有什麼我在這裏失蹤?從我繼續前面的例子,下面的代碼示例顯示了這種行爲:
%cd ..
C:
os.getcwd()
Out[6]: 'C:\\'
%cd
C:\emacs
我看StackOverflow上,谷歌和IPython的問題跟蹤,並沒有發現任何可以解釋這種行爲。不過,我是一名新的IPython用戶,我很可能會誤解某些內容或做錯某些事情,所以我想在將問題提交給IPython團隊之前發佈。任何幫助將不勝感激。
沒有參數的'%cd'通常會更改爲您的主目錄。通常在Windows的'C:\ Users \ foo'上,但是如果它認爲'C:\ emacs'由於某種原因是您的主目錄,那麼您顯示的內容是有意義的。 –