Python 在flask中,为什么“file.read()”在发送回客户端时会删除换行符,而在写入文件时会有两个换行符
我正在写一个演示烧瓶应用程序。我的目标是当用户上传文件时,服务器将处理该文件并将已处理的文件返回给用户。我使用in flask网站。现在我对以下事情感到困惑: 如果我只是使用return request.files['file'].read将文件返回给用户,浏览器将获得一个页面,其中删除了每个句子中的每一个换行。例如,如果我上载包含以下内容的test.txt:Python 在flask中,为什么“file.read()”在发送回客户端时会删除换行符,而在写入文件时会有两个换行符,python,flask,azure-web-app-service,Python,Flask,Azure Web App Service,我正在写一个演示烧瓶应用程序。我的目标是当用户上传文件时,服务器将处理该文件并将已处理的文件返回给用户。我使用in flask网站。现在我对以下事情感到困惑: 如果我只是使用return request.files['file'].read将文件返回给用户,浏览器将获得一个页面,其中删除了每个句子中的每一个换行。例如,如果我上载包含以下内容的test.txt: line1 line2 浏览器将显示如下所示: line1 line2 如果我用 with open(filename, 'w')
line1
line2
浏览器将显示如下所示:
line1 line2
如果我用
with open(filename, 'w') as f:
f.write(request.files['file'].read())
位于服务器中名为filename的文件是
line1
line2
其中每个句子中有两个换行符
这是什么原因造成的?写入部分:是因为文件中的\r\n还是\n。我正在用python2.7测试win10中的write部分
这是获取文件的网站,当您单击“转换”按钮时,文件内容将显示在浏览器中。您可以使用它来查看我所说的第一个结果,并且可以使用任何文件来测试它。Flask正确读取文件内容。但是\n在HTML中不被视为换行符。您可以将内容包装在pre标记中,这将保留格式
在检查html源代码后,从提供给你的网站上,应用程序得到的是正确的
我明白了,谢谢。但是为什么写入一个文件时,每个部分都有两个换行符?@EvanL00 write在我的本地机器上正常工作。你能打印reprrequest.files['file']的结果吗?readIt是'line1\r\nline2',是关于\r\n还是关于某种东西我使用win10和python 2.7I使用notepade++打开文件,它将显示三行,如果使用GVIM,它将显示两行,每行带有^m