Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 最好将html拆分为多个部分并使用变量联接,或者使用test.replace()代替10次?_Python_Python 2.7_Mod Wsgi - Fatal编程技术网

Python 最好将html拆分为多个部分并使用变量联接,或者使用test.replace()代替10次?

Python 最好将html拆分为多个部分并使用变量联接,或者使用test.replace()代替10次?,python,python-2.7,mod-wsgi,Python,Python 2.7,Mod Wsgi,假设我的html模板有10件东西需要替换 将html拆分为10个变量,然后将它们添加到一起会更好吗 a1 = '<html><title>' a2 = '</title><body>' var = 'title' output = a1 + var + a2 还是干脆用 a1 = '<html><title>000</title><body>' var = 'titl

假设我的html模板有10件东西需要替换

将html拆分为10个变量,然后将它们添加到一起会更好吗

 a1 = '<html><title>'
 a2 = '</title><body>'

 var = 'title'

 output = a1 + var + a2
还是干脆用

     a1 = '<html><title>000</title><body>'
     var = 'title'
     output = a1.replace('000',var)

例如,如果有10件东西需要更换

我会使用字符串格式:

 a1 = '<html><title>{0}</title><body>{1}</body></html>'
 vars = ['title', 'body']
 output = a1.format(*vars)


这里{index}告诉format用哪个变量替换那个位置。您还可以重用索引-{0}{0}{1}{1}。格式“Test1”,“Test2”将为您提供“Test1Test1Test2Test2”。您还可以使用许多格式说明符。Ref:

这两种方法都不是很好的方法,因为它们实际上都不支持HTML语法。真正的模板引擎需要能够处理诸如引用和转义之类的事情-特别是如果你正在替换用户提供的数据,在这种情况下,如果不正确地这样做,将有严重的安全问题。无论如何,一个好的模板引擎,如Jinja,将把你的模板编译成Python字节码,这意味着您可以获得现代工具的所有灵活性,并且不会放弃性能。
 a1 = '<html><title>{0}</title><body>{1}</body></html>'
 var1 = 'title'
 var2 = 'body'
 output = a1.format(var1, var2)