我知道许多在IPython中工作的工作目录提示也在Spyder中工作,只要它们以%开头。
例如,pwd
和ls
在IPython中工作,但要在Spyder中运行相同的命令,它们需要以%开头,例如:%pwd
和%ls
。
要更改IPython中的目录,我可以运行cd命令,如:cd C:Users
。。。然而,这似乎在Spyder中不起作用,即使在以%开头时也是如此。有什么建议吗?
我知道os.chdir ('C:\Users\')
有效,只是想理解为什么%cd C:Users
不。。。
运行%foo
时,该命令将在作为自己进程运行的新shell实例中运行。当该shell退出时,对其状态(如工作目录)的更改将随之丢失;它们不会影响生成它的父Python进程。
这与运行sh -c 'cd /'
不会更改shell中当前工作目录的方式相同。(事实上,运行一个名为sh -c "$some_command"
的新进程正是标准C库调用system(some_command)
及其Python等价物os.system(some_command)
的工作方式)。