【问题标题】:cd command in IPython vs. SpyderIPython 与 Spyder 中的 cd 命令
【发布时间】:2015-12-12 19:21:43
【问题描述】:

我知道在 IPython 中工作的许多工作目录提示符也可以在 Spyder 中工作,只要它们以 % 开头。

例如,pwdls 在 IPython 中工作,但要在 Spyder 中运行相同的命令,它们需要以 % 开头,例如:%pwd%ls

要在 IPython 中更改目录,我可以运行 cd 命令,例如:cd C:\Users\... 但是,这在 Spyder 中似乎不起作用,即使以 % 开头也是如此。有什么建议么?

我知道os.chdir ('C:\\Users\\') 有效,只是想了解为什么%cd C:\Users\ 无效...

【问题讨论】:

  • 你想要 Python 解释器的目录还是你的脚本的目录?
  • %ls%pwdbase Python 中工作是什么意思?你启动 python,然后在 python 控制台中输入,比如>>> %ls?那行不通!
  • 我的 Python 解释器的目录。 IE。我的“工作目录”。
  • 抱歉,它可以在 Spyder 中使用。我会编辑。

标签: python ipython cd


【解决方案1】:

当您运行%foo 时,该命令将在一个新的shell 实例中运行,该实例作为它自己的进程运行。当该 shell 退出时,对其状态(例如其工作目录)的更改将随之丢失;它们不会影响产生它的父 Python 进程。

这与运行sh -c 'cd /' 不会更改您在shell 中的当前工作目录的方式相同。 (事实上​​,以sh -c "$some_command" 运行一个新进程正是标准C 库调用system(some_command) 及其Python 等价物os.system(some_command) 的工作方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 2021-12-19
    • 2017-02-22
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    相关资源
    最近更新 更多