web-dev-qa-db-ja.com

IPythonで現在の作業ディレクトリを変更する(Windows)

どういうわけか、IPythonで現在の作業ディレクトリを変更できず、その理由がわかりません。

以下の例では、CドライブのルートからIPythonを起動し、いくつかの方法で現在の作業ディレクトリを変更しようとしています。奇妙な結果:

C:\>ipython
Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)]
Type "copyright", "credits" or "license" for more information.

IPython 2.0.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: cd
C:\Users\jkokorian

In [2]: %cd "C:\Dell"
C:\Dell

In [3]: cd
C:\Users\jkokorian

In [4]: import os

In [5]: os.chdir("C:\Dell")

In [6]: os.getcwd()
Out[6]: 'C:\\Dell'

In [7]: cd
C:\Users\jkokorian

In [8]: os.getcwd()
Out[8]: 'C:\\Users\\jkokorian'

どういうわけか、IPythonがC:のルートから開始された場合でも、作業ディレクトリは常にデフォルトでホームフォルダになります。

誰かがここで何が起こっているのか手がかりを持っていますか?

8
jkokorian

いくつかの実験の結果、引数なしの「cd」マジックコマンドが現在の作業ディレクトリを「C:\ Users\jkokorian」にリセットすることがわかりました。現在の作業ディレクトリをエコーすると思いましたが、明らかにそうではありません。

20
jkokorian