[英]Confusing Error when Reading from a File in Python
我在打开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:[错误2]没有这样的文件或目录:'名称'
关于我在做什么错的任何想法吗?
您在问题正文中提到该文件是“ names.txt”,但是您的代码显示您试图打开一个名为“ names”的文件(扩展名为“ .txt”)。 (扩展名是文件名的一部分。)
尝试以下方法:
infile = open('names.txt', 'r')
附带说明一下,请确保在打开文件时使用通用模式,因为Windows和mac / unix具有回车符的不同表示形式(/ r / n与/ n等)。 通用模式让python处理此问题,因此通常在需要读取文件时使用它是一个好主意。 (编辑-应该阅读:一个文本文件,谢谢卡梅伦)
所以代码看起来像这样
infile = open( 'names.txt', 'rU' ) #capital U indicated to open the file in universal mode
这不能解决该问题,但是您可以在打开文件时考虑使用with
:
with open('names', 'r') as infile:
string = infile.read()
string = string.replace('"','')
name_list = string.split(',')
name_list.sort()
return 0
这将为您关闭文件并处理异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.