活动编辑器的pydev控制台路径
我想用pydev在python中做一些脚本。我的问题是我无法在脚本所在的项目目录中启动控制台,而控制台在pydev /
aptana文件夹(在aptana文件夹中的某个位置)中启动。
我可以解决这些问题,将以下代码添加到脚本中:
import os
import inspect
filename = inspect.getframeinfo(inspect.currentframe()).filename
curpath = os.path.dirname(os.path.abspath(filename))
os.chdir(curpath)
有人知道通过pydev Ctrl
+ Alt
+启动时如何将控制台的目录自动更改为项目位置路径Enter
吗?
- 编辑 -
如果有人喜欢,这是我自己的解决方案:
import sys; print('%s %s' % (sys.executable or sys.platform, sys.version)) import os;os.chdir([p for p in os.environ['PYTHONPATH'].split(os.pathsep) if ('Aptana Workspace' in p)][0]) pwd()
-
我使用了一些技巧来使其正常工作。如果我理解您的问题,则希望将IPython环境中的当前工作目录设置为活动文件所在的目录。因此,如果您正在编辑D:/projects/file.py,则希望pwd()命令(在IPython中)返回D:/
projects。这就是我的解决方案中被黑的部分。我所有的项目都在D驱动器上,但是所有常规的python导入都来自C驱动器上的安装位置。因此,以下内容:os.environ['PYTHONPATH'].split(os.pathsep)
会导致一个列表,其中D驱动器上只有一个路径位于我的活动文件目录中(因为PyDev将PYTHONPATH设置为包括正确的目录)。如果您不使用D驱动器,那么应该有其他独特的方法来识别该列表中的哪些路径与您的项目有关(例如在Documents或My
Documents等中)。如果没有唯一标识您的项目路径的方法,则此答案不起作用。但是在“
D:/”足够唯一标识符的简单情况下,这是设置中的启动代码(“窗口”>“首选项”>“ PyDev”>“交互式控制台”)import sys; print('%s %s' % (sys.executable or sys.platform, sys.version)) import os;os.chdir([p for p in os.environ['PYTHONPATH'].split(os.pathsep) if p.startswith("D")][0]) pwd()