Eclipse 如何读取PyDev环境变量中指定的文件

Eclipse 如何读取PyDev环境变量中指定的文件,eclipse,file-io,pydev,Eclipse,File Io,Pydev,我的Project Euler安装程序是一个PyDev项目,我在两台不同的计算机(一台是Mac,另一台是Windows 7)上工作。项目的文件结构如下所示: PROJECT_LOC/ unsolved/ The .py files for the problems I haven't solved solved/ Problems_001_025/ .py files for problems 1-25 ... etc ... texts/ A

我的Project Euler安装程序是一个PyDev项目,我在两台不同的计算机(一台是Mac,另一台是Windows 7)上工作。项目的文件结构如下所示:

PROJECT_LOC/
  unsolved/
    The .py files for the problems I haven't solved
  solved/
    Problems_001_025/
      .py files for problems 1-25
  ... etc ...
  texts/
    Any input files provided by Project Euler (e.g., Problem 22)
每个文件都以模式
Problem####.py
Problem###.txt
命名

一旦我解决了一个问题,我会将它从
未解决的
移动到
已解决的
中的正确目录,这就是我的困难所在:

如果输入有问题,请说
Problem022.py

for line in open("../texts/Problem022.txt"):
    # read file in
# code to solve the problem
因为前一段时间我解决了问题22,所以我将它从
PROJECT\u LOC/unsolved/
移动到
PROJECT\u LOC/solved/Problems\u 001\u 025/
。现在,(毫不奇怪)当我再次尝试运行它时,它不会给我这样的文件错误

那么,在不改变文件结构的情况下,有没有办法从项目目录中的任何位置访问输入文本文件

我想我可以做一些类似于
open(${PROJECT\u LOC}/text)
,但我不知道如何在运行时从Eclipse获得
PROJECT\u LOC
,并让它在Windows和OS X上工作。我玩过,但无法让它为我工作。

我想出来了

我在Eclipse首选项中向解释器添加了一个值为
${PROJECT\u LOC:text}/
的环境变量。我现在可以使用
os.environ[“PROJECT\u EULER\u TEXT\u FILES”]
来提取输入的位置