使用line_profiler时出现UnicodeEncodeError

时间:2019-07-08 14:18:58

标签: python-3.x unicode line-profiler

我正在学习python,并尝试按行分析代码性能。我安装了line_profiler,但始终显示

UnicodeEncodeError:“字符映射”编解码器无法对位置30-31中的字符进行编码:字符映射为未定义

我尝试运行chcp 65001,该方法不起作用。

import cgi
import time
from line_profiler import LineProfiler

def test2():
    print('hello!test2()')

def test1():
    html='''<script>alert("you are a good boy!&I like you")</scrpit>'''
    test2()
    escape_html=cgi.escape(html)
    for item in range(5):
        time.sleep(1)
    print(escape_html)

if __name__=='__main__':
    lp=LineProfiler()
    lp.add_function(test2)
    lp_wrap=lp(test1)
    lp_wrap()
    lp.print_stats()

结果:

  

hello!test2()

     

C:\ OneDrive \ u684c \ u9762 \ linecheck.py:91:DeprecationWarning:不建议使用cgi.escape,请使用html.escape而不是escape_html = cgi.escape(html)