我的客户端从使用python 3编写的服务器请求页面。 服务器返回客户端显示的html页面。
因此,我做了一个 dummy.html 页面,当客户端要求它时,我的python读取它并将其返回给客户端:
filename = "dummy.html"
fh = open(filename, 'rt')
line = fh.readline()
while line:
print(line)
line = fh.readline()
fh.close()
但是,此代码不会读取位于 dummy.html 文件顶部的<!DOCTYPE html>
(因此,像bootstrap这样的东西对我来说不起作用.. )。
我也尝试手动打印print('<!DOCTYPE html>')
,但这也不起作用。
print('<!DOCTYPE html>') <---- IT IS PRINTED TO SDOUT BUT WHEN PRINTED TO CLIENT, THE PAGE DOES NOT HAVE THIS LINE ....
filename = CURRENTPATH+"\\..\\su.html"
fh = open(filename, 'rt')
line = fh.readline()
print('hello')
print('<'+'!'+'DOCTYPE html>')
while line:
print(line)
line = fh.readline()
fh.close()
我该如何解决?
答案 0 :(得分:0)
您似乎正在尝试在Python中重新实现Web服务器。请考虑使用现有的Web框架,例如Django(https://www.djangoproject.com/),Flask(http://flask.pocoo.org/)或Pyramid(http://www.pylonsproject.org/),它们将为您完成大部分工作(包括内置框架)支持各种HTML模板库和实际性能。)
至于您的实际答案,正如预期的那样,print
语句将打印到stdout
。相反,你需要写入类似文件的对象,其内容将被发送到客户端(它是一个套接字?一个文件?谁知道?停止重新发明轮子。)