Editor 将IPython Shell的工作目录设置为在Corpody中执行的python文件的工作目录

Editor 将IPython Shell的工作目录设置为在Corpody中执行的python文件的工作目录,editor,ipython,enthought,Editor,Ipython,Enthought,我是IPython的新手,我正在使用树冠分布。shell工作目录的默认值是/home/username。当我处理需要其他文件的文件时,这有点痛苦,这些文件位于我正在处理的相应文件夹中 所以,我总是手动将其更改为文件(我正在尝试执行)所在的文件夹 我发现了这个,但我的问题略有不同。而且,我也不能很好地理解那里提供的答案 有没有一种设置IPython shell的工作目录的方法比设置我正在工作的文件的工作目录的方法更短?像命令一样 感谢您的帮助您可以在iPython内部使用cd光盘代表变更目录 这是

我是IPython的新手,我正在使用树冠分布。shell工作目录的默认值是/home/username。当我处理需要其他文件的文件时,这有点痛苦,这些文件位于我正在处理的相应文件夹中

所以,我总是手动将其更改为文件(我正在尝试执行)所在的文件夹

我发现了这个,但我的问题略有不同。而且,我也不能很好地理解那里提供的答案

有没有一种设置IPython shell的工作目录的方法比设置我正在工作的文件的工作目录的方法更短?像命令一样


感谢您的帮助

您可以在iPython内部使用
cd
<代码>光盘代表变更目录


这是我们功能列表中的一个功能,但优先级很低。Canopy提供了一个右键单击上下文菜单选项,可切换到当前活动的编辑器目录(请参阅)

此外,作为一项临时工作,您可以使用以下宏来完成工作

# -*- coding: utf-8 -*-

def run():
    code_task = get_active_task()

    from os.path import dirname

    def change_directory():
        code_editor = code_task.active_editor
        if not code_editor:
            return
        python_pane = code_task.python_pane
        active_dir = dirname(code_editor.obj.path)
        python_pane.execute_command(u'cd %s\n' % active_dir)

    code_task.on_trait_change(change_directory, 'active_editor') 
注意:每次关闭并重新打开编辑器窗口时,都必须运行此宏


有关如何创建宏的说明以及有关Canopy中宏的更多信息,请参见和。

右键单击Canopy中的python选项卡,然后从菜单中选择“保持目录与编辑器同步”。它会将包含源文件的目录设置为当前工作目录。您可以通过右键单击菜单中的“更改工作目录”将任何目录设置为工作目录

# -*- coding: utf-8 -*-

def run():
    code_task = get_active_task()

    from os.path import dirname

    def change_directory():
        code_editor = code_task.active_editor
        if not code_editor:
            return
        python_pane = code_task.python_pane
        active_dir = dirname(code_editor.obj.path)
        python_pane.execute_command(u'cd %s\n' % active_dir)

    code_task.on_trait_change(change_directory, 'active_editor')