-1

我在打开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] 没有这样的文件或目录:“名称”

关于我做错了什么的任何想法?

4

3 回答 3

3

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

试试这个:

infile = open('names.txt', 'r')
于 2013-03-09T04:08:52.053 回答
2

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

所以代码看起来像这样

infile = open( 'names.txt', 'rU' ) #capital U indicated to open the file in universal mode
于 2013-03-09T04:25:26.290 回答
1

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

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

return 0

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

于 2013-03-09T04:12:10.697 回答