繁体   English   中英

在Python中读取文件时出现令人困惑的错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM