Python 将文件中的所有文本更改为小写

Python 将文件中的所有文本更改为小写,python,Python,我正在尝试将txt文件中的所有文本转换为小写,我将如何进行此操作,这是我迄今为止的代码,我查看了有关堆栈溢出的一些问题,但我无法完全理解,如果有人能将我链接到正确的文章或告诉我代码的错误,我将不胜感激。两个问题: 用'r'打开文件进行读取 将列表中的行更改为文件 以下是固定代码: from itertools import chain from glob import glob file = open('FortInventory.txt','w') lines = [line.lower(

我正在尝试将txt文件中的所有文本转换为小写,我将如何进行此操作,这是我迄今为止的代码,我查看了有关堆栈溢出的一些问题,但我无法完全理解,如果有人能将我链接到正确的文章或告诉我代码的错误,我将不胜感激。

两个问题:

  • 'r'
    打开文件进行读取
  • 将列表中的
    更改为
    文件
  • 以下是固定代码:

    from itertools import chain
    from glob import glob
    
    file = open('FortInventory.txt','w')
    
    lines = [line.lower() for line in lines]
    with open('FortInventory.txt', 'w') as out:
         out.writelines(sorted(lines))
    

    首先,您从不迭代实际文件。应该是“lines=[line.lower()表示文件中的行]”啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!打开文件
    r+
    ,然后从头开始覆盖所有内容,并使用最外层的
    和open(…)作为文件将更有意义:
    解释@oldrinb的意思我同意。也许这是meta的一个问题,但我尝试只更改原始代码中要求或需要的内容,以便更容易区分哪些只是样式更改/优化,哪些是实际修复的问题。我很高兴这里的这些评论指出了代码的进一步改进:)@sizz为什么要使用
    排序
    呢?@Enders谢谢;我要说的唯一一点是,
    truncate
    在这里是不必要的,因为我们无论如何都要覆盖整个文件,当然我们会做一些类似于
    lines=[line.lower()for line in f];f、 寻求(0);f、 写线(行)
    from itertools import chain
    from glob import glob
    
    file = open('FortInventory.txt', 'r')
    
    lines = [line.lower() for line in file]
    with open('FortInventory.txt', 'w') as out:
         out.writelines(sorted(lines))