【问题标题】:How to read a file specified in the PyDev environment variables如何读取 PyDev 环境变量中指定的文件
【发布时间】: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###.pyProblem###.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 ,但无法让它为我工作。

【问题讨论】:

    标签: eclipse file-io pydev


    【解决方案1】:

    我想通了……

    我在我的 Eclipse 首选项中向解释器添加了一个值为 ${PROJECT_LOC:texts}/ 的环境变量。我现在可以使用os.environ["PROJECT_EULER_TEXT_FILES"] 来拉取输入的位置。

    【讨论】:

      猜你喜欢
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      • 2014-08-06
      • 2012-02-08
      • 1970-01-01
      • 2012-08-23
      • 2021-03-12
      相关资源
      最近更新 更多