从Python中的文件读取时出现混淆错误

时间:2013-03-09 04:05:01

标签: python file

我在打开names.txt文件时遇到问题。我已经检查过我在正确的目录中。以下是我的代码:

import os
print(os.getcwd())
def alpha_sort():
    infile = open('names', 'r')
    string = infile.read()
    string = string.replace('"','')
    name_list = string.split(',')
    name_list.sort()
    infile.close()
    return 0
alpha_sort()

我得到的错误:

  

FileNotFoundError:[Errno 2]没有这样的文件或目录:'names'

关于我做错的任何想法?

3 个答案:

答案 0 :(得分:3)

您在问题正文中提到该文件是" names.txt"但是您的代码显示您尝试打开名为" name"的文件。 (没有" .txt"扩展名)。 (扩展名是文件名的一部分。)

请改为尝试:

infile = open('names.txt', 'r')

答案 1 :(得分:2)

作为旁注,请确保在打开文件时使用通用模式,因为windows和mac / unix具有不同的回车表示形式(/ r / n vs / n等) 。通用模式让python来处理这个问题,所以每当你需要读取文件时使用它通常是个好主意。 (编辑 - 应该是:文本文件,感谢卡梅隆)

所以代码看起来就像这样

infile = open( 'names.txt', 'rU' ) #capital U indicated to open the file in universal mode

答案 2 :(得分:1)

这不能解决该问题,但您可以考虑在打开文件时使用with

with open('names', 'r') as infile:
    string = infile.read()
    string = string.replace('"','')
    name_list = string.split(',')
    name_list.sort()

return 0

这会为您关闭文件并处理异常。