用python读取大文件

用python读取大文件,python,file,Python,File,我正在尝试用Python读取一个大文件。由于某种原因,它对我不起作用。这是我尝试过的代码,但它不起作用 有人知道代码有什么问题吗 myFile = open("myfile.txt", "r") lines = phoneFile.readlines() for line in lines: if userMessage in line: alltheline =

我正在尝试用Python读取一个大文件。由于某种原因,它对我不起作用。这是我尝试过的代码,但它不起作用

有人知道代码有什么问题吗

  myFile = open("myfile.txt", "r")
        lines = phoneFile.readlines()
        for line in lines:
            if userMessage in line:
                alltheline = line.split(":")
                return alltheline[0]
        return "not found"
问题不在于关闭文件! 当它进入for循环时,抛出一个exeption

我发现了问题,jast添加到开放行

encoding="utf8"
试试这个:

当您试图读取其他内容而不是打开的文件时,将电话文件更改为我的文件。我还添加了
myFile.close()
以在完成后关闭文件

或者通过使用with语句,这允许我们打开文件,然后在完成后自动关闭它,而不是使用myFile.close()来为我们执行操作

   with open("myfile.txt", 'r') as myFile:
        for line in myFile:
            if userMessage in line:
               alltheline = line.split(":")
               return alltheline[0]
        return "not found"

“它对我不起作用”是什么意思?这不是一个真正有用的描述。你能告诉我们什么不起作用,它是否给出了错误,它是否只是挂起,它是否返回了错误的结果?用户消息是什么?你将打开的结果放在myFile中,但在阅读使用phoneFile后,为什么不使用myFile,或者如果myFile赋值在这里无效,为什么显示myFile赋值?因此,我鼓励你使用(
)和open(“myfile.txt”、“r”)作为myfile:
)你想从哪个文件开始读取?myFile还是phoneFile?请修复缩进,否则这可能会让python新手感到困惑。我还鼓励你解释为什么第二个方案会更好,这要归功于with和更小的内存大小。你说得越多,文件sti就越容易丢失你用的是哪一个?:with statement或更高版本?是否有错误或任何东西或它不起作用?你能解释一下这个问题吗?
   with open("myfile.txt", 'r') as myFile:
        for line in myFile:
            if userMessage in line:
               alltheline = line.split(":")
               return alltheline[0]
        return "not found"