【问题标题】:Manipulating the output of a file操作文件的输出
【发布时间】:2014-12-03 09:09:10
【问题描述】:

我正在尝试操作此文件的输出,以便它在新行上打印每一行,而不是这样:

['羚羊\n', '熊\n', '猫\n', '狗\n', '大象\n', '狐狸\n', '长颈鹿\n', '鬣狗\n', '鬣蜥\n', '美洲虎\n', '袋鼠\n', 'llama\n', 'monkey\n', '忍者龟\n', '章鱼\n', 'platterpus\n', '蜂王\n', '老鼠\n', '蛇\n', '老虎\n', '独角兽\n', '田鼠\n', '鲸\n', '牦牛\n', '斑马']

myFile=open('animals.txt', 'r')
animalList=myFile.readlines()
print(animalList)

【问题讨论】:

    标签: python file python-3.x


    【解决方案1】:

    使用context managerwith 语句会很好。

    with open('animals.txt') as f:
        for line in f:
           print(line, end='')
    

    这里不需要file.readlines(),因为文件对象本身调用了它的next() 方法。

    【讨论】:

    • 请注意,上下文管理器with 与所提出的问题无关。
    • @Carpetsmoker 谢谢我没有考虑 python3,检查我更新我的答案。
    【解决方案2】:

    可以使用join字符串方法:

    animalList = open('animals.txt', 'r').readlines()
    print("".join(animalList))
    

    注意join 方法是这里的空字符串的一部分:"".join( 一些字符串列表 )

    【讨论】:

      【解决方案3】:

      试试这个

           myFile=open('animals.txt', 'r')
           animalList=myFile.readlines()
           for animal in animalList: 
                 print(animal)
      

      【讨论】:

      • 请改正您的错字。
      猜你喜欢
      • 1970-01-01
      • 2015-05-06
      • 1970-01-01
      • 2011-11-10
      • 2017-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多