Обработка файлов ввода / вывода, чтение файла - PullRequest
1 голос
/ 15 марта 2020

Буду благодарен за помощь. (Запись в текстовом файле: Бразилия \ n12 \ nethopia \ n23 \ nmada \ n10 \ n). например, когда я набираю «Бразилия» ИЛИ часть начала, например (b или br или бюстгальтер и т. д.), вывод выглядит так: Бразилия 12 Я хочу, чтобы вывод был корректным ТОЛЬКО, когда написано полное имя, а НЕ его начальная часть. , я попытался == вместо (.... если поиск в строке ....), но это не работает. заранее спасибо за помощь

def main():

    def data():
        dfile= open("coffeedata.txt","a")
        user = input('Insert a record: ')
        while user == "y":
            desr = input("name of coffe: ")
            dfile.write(desr+"\n")
            qty = float(input("insert the quantity: "))
            dfile.write(str(qty)+"\n")
            user = input('do you have new record: y or n: ')
        else:
            print("no data entry")
    data()


    def dreading():
        with open("coffeedata.txt","r") as dfile:
            for line in dfile:
                print (line.rstrip("\n"))
    dreading()

    def searching():
        found= False
        search = input("name of coffee:")  
        with open("coffeedata.txt", "r") as dfile:
            print(dfile)
            for line in dfile:
                if search in line:  
                    print(line.rstrip("\n"))
                    print(type(line))
                    qty=float(dfile.readline())
                    print(qty)
                    print(type(qty))
                    found=True
            if not found:
                print("the coffee is not in the record")

    searching()

main()

1 Ответ

0 голосов
/ 15 марта 2020

Объединение поиск с '\ n в вашем случае

if search + "\n" in line:

>

def main():
  def data():
      dfile= open("coffeedata.txt","a")
      user = input('Insert a record: ')
      while user == "y":
          desr = input("name of coffe: ")
          dfile.write(desr+"\n")
          qty = float(input("insert the quantity: "))
          dfile.write(str(qty)+"\n")
          user = input('do you have new record: y or n: ')
      else:
          print("no data entry")
  data()


  def dreading():
      with open("coffeedata.txt","r") as dfile:
          for line in dfile:
              print (line.rstrip("\n"))
  dreading()

  def searching():
      found= False
      search = input("name of coffee:")  
      with open("coffeedata.txt", "r") as dfile:
          print(dfile)
          for line in dfile:
              if search + "\n" in line:  
                  print(line.rstrip("\n"))
                  print(type(line))
                  qty=float(dfile.readline())
                  print(qty)
                  print(type(qty))
                  found=True
          if not found:
              print("the coffee is not in the record")

  searching()

main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...