Хотите ввести данные в следующей строке при обработке файла.Я пытался использовать '\ n', но он не работает - PullRequest
0 голосов
/ 28 сентября 2019

def addData (callno, имя книги, автор, год, количество):

  outfil=open('taxt.txt','a')
  outfil.write(str('\n'+callno).strip()+str(',').strip() + str(bookname).strip()+str(',').strip()+ str(author).strip()+str(',').strip()+ str(year).strip()+str(',').strip()+ str(qty).strip())


  outfil.close

1 Ответ

1 голос
/ 28 сентября 2019

Метод strip () удаляет все пробелы, включая переводы строки.Вам нужно вызывать strip () перед добавлением символа \n, а не после.

Также вам не нужно вызывать str () и strip () для объектов, которые уже являются строками.

  outfil=open('taxt.txt','a')
  outfil.write('\n' + str(callno).strip() + ',' + str(bookname).strip() + ',' + str(author).strip() + ',' + str(year).strip() + ',' + str(qty).strip())
  outfil.close

Кстати, вы можете упростить это, используя оператор with, str.join и выражение генератора.

with open("taxt.txt", "a") as outfile:
    outfile.write("\n" + ",".join(str(value).strip() for value in (callno, bookname, author, year, qty)))
...