【发布时间】:2013-03-23 23:43:58
【问题描述】:
我的 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 模式命名。
一旦我解决了一个问题,我将它从unsolved 移动到solved 中的正确目录,这就是我的困难所在:
如果输入有问题,比如Problem022.py:
for line in open("../texts/Problem022.txt"):
# read file in
# code to solve the problem
由于我不久前解决了问题 22,因此我将其从 PROJECT_LOC/unsolved/ 移至 PROJECT_LOC/solved/Problems_001_025/。现在,(毫不奇怪)当我再次尝试运行它时,它给了我一个 no such file 错误。
那么,不改变我的文件结构,有没有办法让我从项目目录中的任何地方访问输入文本文件?
我在想我可以做类似open(${PROJECT_LOC}/texts) 的事情,但我不知道如何在运行时从 Eclipse 获取 PROJECT_LOC,并让它在 Windows 和 OS X 上都可以工作。我玩过 what this person did in his question ,但无法让它为我工作。
【问题讨论】: