【问题标题】:How to return next line in text file in python如何在python中返回文本文件中的下一行
【发布时间】:2022-08-18 19:37:08
【问题描述】:
def openFood():
    with open(\"FoodList.txt\")  as f:
                lines = f.readlines()
                for line in lines:
                    if \'Food\' in line:
                        print(f.next())
openFood()

我希望它在看到某个标题(例如 \'Food\')时在哪里打印它下面的行。我似乎无法让它工作。文本文件将像

Food
Apple
Cal 120
Protein 12
Fat 13 
Carb 23

    标签: python


    【解决方案1】:

    只需使用索引。

    def openFood():
        with open("FoodList.txt")  as f:
            lines = f.readlines()
            for i in range(len(lines)-1):
                if 'Food' in lines[i]:
                    print(lines[i+1])
    openFood()
    

    【讨论】:

      【解决方案2】:

      您可以尝试以下方法:

      def openFood():
          with open("FoodList.txt")  as f:
              lines = f.readlines()
          for ind, line in enumerate(lines):
              if 'Food' in line:
                  try:
                      print(lines[ind + 1])
                  except:
                      print('No line after "Food"')
      openFood()
      

      【讨论】:

        【解决方案3】:

        由于readlines() 返回文件中可以迭代的行列表,因此您可以通过其索引简单地访问后续行:

        l = len(lines)-1
        for i in range(l):
            if 'Food' in lines[i]:
                print(lines[i+1])
        

        【讨论】:

          猜你喜欢
          • 2016-04-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-02-04
          • 1970-01-01
          • 1970-01-01
          • 2018-03-06
          相关资源
          最近更新 更多