【问题标题】:Relative paths in open in Python 2.5 and 2.7Python 2.5 和 2.7 中打开的相对路径
【发布时间】:2014-10-31 21:20:57
【问题描述】:

我在 python 2.5 中有一个脚本可以打开一个文件

f=open("./inputs/variable_list.csv","r")

它需要脚本的路径,因此进入文件夹以获取 csv。但是,如果我在 Python 2.7 中运行同一行,它不知道打开文件的路径

Traceback (most recent call last):
File "C:\INRO\Emme\Emme4\Python27\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line    326, in RunScript
exec codeObject in __main__.__dict__
  File "X:\Daniel\training\model_runs\2010\iter0\write_model_setup_joan.py", line 6, in <module>
    f=open("./inputs/variable_list.csv","r")
IOError: [Errno 2] No such file or directory: './inputs/variable_list.csv'

为什么 Python 2.7 不能像 2.5 那样处理路径?还有没有办法让 2.7 像 2.5 一样处理路径?

【问题讨论】:

  • 你为什么在 windows 上使用 *nix 风格的路径?
  • 两种情况下当前目录是否相同?
  • 脚本是这样写的,不是我写的
  • 是的,相同的文件脚本只是使用不同版本的python
  • 我打赌它们不会从同一位置被调用(蟒蛇),导致一个找到相关文件而另一个找不到它。

标签: python python-2.7 python-2.5


【解决方案1】:

在这两种情况下,您的脚本似乎都没有在同一个地方执行。

也许你应该在 2.7 脚本的开头添加这些行:

import os
os.chdir('/location/of/your/script')

【讨论】:

  • 这有效,但我仍然不知道原因。一定和python的配置有关
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多