我想用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驱动器,那么应该有一些其他独特的方法来识别该列表中的哪些路径与您的项目相关(如文档或我的文档等).如果没有一种方法可以唯一识别您的项目路径,那么这个答案就不起作用了.但是在“D:/”足够唯一标识符的简单情况下,这是我在设置中的启动代码(Window> Preferences> PyDev> Interactive Console)
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()