Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python编码错误:";文件不存在';“不存在”;_Python - Fatal编程技术网

Python编码错误:";文件不存在';“不存在”;

Python编码错误:";文件不存在';“不存在”;,python,Python,我在C:\Python27\Lib\site packages\visual\examples中有一个名为hsp.txt的文本文件,并使用了以下代码 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])))

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

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'
我该如何解决这个问题?
另外,当您仅指定以下行时,如何输出均值和方差?

    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')

你想过你的道路通向哪里吗?您需要提供文件的完整路径

opened_file = open("C:/Python27/Lib/site-packages/visual/examples/hsp.txt")
还有几件事:

  • 不要将
    文件
    用作变量名。系统已使用该名称
语句一起使用。这被认为是更好的练习

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

当带
块结束时,文件将自动关闭。在代码中,文件保持打开状态,直到使用
.close()
方法关闭
文件
函数(从而保存)为止。

键入:
os.getcwd()
。它返回了什么?@MartijnPieters你在这些可怕的问题上花费了这么多时间,真是个圣人。@Jeffrey你应该在处理完文件后明确地关闭它——或者用
块打开文件。@dbliss:真的,仅仅因为这篇文章来自一个还不熟悉这个网站上所有格式细节的人,这本身并不会让这个问题变得可怕。他们确实提供了他们尝试的内容和完整的错误消息。这在我的书里写得很好@MartijnPieters说得很好。我唯一失望的是,OP没有谷歌搜索错误消息——这本可以揭示很多答案。