Python编码错误:"文件不存在"

时间:2015-05-17 01:07:21

标签: python

我在hsp.txt中有一个名为C:\Python27\Lib\site-packages\visual\examples的文本文件,并使用了以下代码。

def file():
    file = open('hsp.txt', 'r')
    col = []
    data = file.readlines()
    for i in range(1,len(data)-1):
        col.append(int(float(data[i].split(',')[5])))
    return col

def hist(col):
    handspan = []
    for i in range(11):
        handspan.append(0)
    for i in (col):
        handspan[i] += 1
    return handspan

col = file()
handspan = hist(col)
print(col)
print(handspan)

但是当我运行它时,它说文件不存在。

Traceback (most recent call last):
  File "Untitled", line 17
    col = file()
  File "Untitled", line 2, in file
    file = open('hsp.txt', 'r')
IOError: [Errno 2] No such file or directory: 'hsp.txt'

我该如何解决这个问题? 另外我如何输出均值和方差?

2 个答案:

答案 0 :(得分:2)

你有没有想过你的路径通向哪里?您需要提供该文件的完整路径。

opened_file = open("C:/Python27/Lib/site-packages/visual/examples/hsp.txt")

其他一些事情:

  • 不要使用file作为变量名称。系统已使用该名称。

使用with声明。它被认为是更好的做法。

with open("C:/Python27/Lib/site-packages/visual/examples/hsp.txt"):
    # do something

with块结束时,文件会自动关闭。在您的代码中,文件保持打开状态,直到使用file方法关闭(并因此保存).close()函数。

答案 1 :(得分:1)

当您指定以下行时

    file = open('hsp.txt', 'r')

它正在尝试使用您当前的目录,这是您从哪里启动python。因此,如果您从命令提示符处于C:\ temp并执行python test.py,那么它将在C:\ temp \ hsp.txt中查找您的hsp.txt。当您不尝试从当前目录加载文件时,应指定完整路径。

   file = open(r'C:\Python27\Lib\site-packages\visual\examples\hsp.txt')