【发布时间】:2014-09-18 02:16:59
【问题描述】:
我正在尝试创建一个 python 脚本,将external-link-icon.gif 显示为网页的背景,并使用合适的字体打印 ASCII 字符集中的所有可打印字符。我们可以指定一种字体,例如 Times New Roman、Palatino、Georgia、Lucida Grande 或 Helvetica。可打印字符的十进制数字为 33–126 和 128–4000。我们不需要 127。
我认为一切正常,但此脚本无法正常工作。很确定我做的背景部分不正确,我不确定我是否使用了正确的标签或者我是否遗漏了一些标签,但我认为我做对了 ASCII 部分。
#!/usr/local/bin/python3
import base64
import binascii
import cgi
import sys
print('Content-type: text/html\n')
content = []
#back = []
external_link_bytes = open('external-link-icon.gif','rb').read()
# Create the base64 encoded images
external_link = base64.b64encode(external_link_bytes)
external_link = external_link.decode('ascii')
#back = '<style>body {background:url(data:image/gif;base64,%s)}</style>' % external_link
for i in range(33,127):
content.append('<div class="unicode-char">')
char = cgi.escape(chr(i)).encode("ascii", "xmlcharrefreplace")
content.append(char.decode())
content.append('<div class="clearfix"></div><sub style="font-size: 12px">{sub_number}</sub>'.format(sub_number = i))
content.append('</div>')
for i in range(128,256):
content.append('<div class="unicode-char">')
char = cgi.escape(chr(i)).encode("ascii", "xmlcharrefreplace")
content.append(char.decode())
content.append('<sub style="font-size: 12px">{}</sub>'.format(i))
content.append('</div>')
for i in range(257,4000):
content.append('<div class="unicode-char">')
char = cgi.escape(chr(i)).encode("ascii", "xmlcharrefreplace")
content.append(char.decode())
content.append('<sub style="font-size: 12px">{}</sub>'.format(i))
content.append('</div>')
content = "\n".join(content)
更新:将此添加到脚本中,因为我需要将 ascii 显示在 12 行列中,并使其成为特定字体和字体大小,但无法再次使用。很确定我做错了,因为我的教授没有深入研究,也没有给我们很多例子。
html = '<!doctype html>'
html += '<html>'
html += '<head>'
html += '<meta charset="utf-8">'
html += '<title>Lab 5.1.cgi</title>'
html += '<style>'
html += body {font-family: "WenQuanYi", "Arial Unicode MS", "GNU Unifont", Code2000, Arial, "Lucida Grande", sans-serif; background:url(data:image/gif;base64, external_link)};
html += '</style>'
html += '</head>'
html += '<body>'
html += '<div class="row">'
html += '<div class="twelve columns">'
html += '<div class="globalWrapper">'
html += '<div style="font-size:16px">'
html += '</div>'
html += '<div><strong>lab5.1.cgi</strong>'
html += '<h1 class="title">Arial Unicode MS</h1>'
html += '<h2 class="small">Printable Characters: 32–126, 128 – 4000</h2>'
html += '<div class="unicode-char">'
html += content
html += '</div>'
html += '</div>'
html += '</div>'
html += '</body>'
html += '</html>'
print (html)
【问题讨论】:
-
你最好使用yattag之类的东西来构建html。
-
从来没有听说过,所以我查了一下,看起来很有用,但由于我的教授从未教过我们如何做到这一点,我猜他希望我们用老式的方式来做,哈哈。谢谢你,我学到了一些新东西
标签: python html tags ascii gif