Я пишу скрипт с Flask на Python 3. У меня есть сервер, который запрашивает ввод, который обычно будет состоять из нескольких строк. Затем я беру эти данные и записываю их в файл:
@app.route('/editor',methods = ['POST', 'GET'])
def result():
if request.method == 'POST':
result = request.form
print(request)
global file
file = result['script']
f = open(file, "r+")
contents = f.read()
f.close()
return render_template("result.html",result = result, file = file, cont = contents)
В этом коде ^ я получаю имя файла из формы ввода, а затем использую шаблон Flask:
<!doctype html>
<html>
<title>File Editor</title>
<body>
Editor:
<form action = "http://192.168.#.###:5000/save" method = "POST" id="form">
<textarea name="script" form="form" rows="10" cols="100">{{cont}}</textarea>
<p><input type = "submit" value = "Save" /></p>
</form>
</body>
</html>
Этот ^ перенаправляет на путь сохранения
@app.route('/save',methods = ['POST', 'GET'])
def save():
contents = request.form
contents = contents.items()
ope = open(file, 'w+')
i = ''
for key, value in contents:
i = value
print(i)
i.replace('\n', '')
ope.write(i)
ope.close()
return redirect("/", code=302)
Но когда я открываю отредактированный файл, появляется больше строк, чем должно быть (между ними добавляется пустая строка). Если между двумя словами есть одна строка, это делает его 3, если есть 2 строки, это делает его 5, если нет строк, это делает его одним. Есть идеи почему?