python

flask Jinja2 template 模板 ' 编码问题

flask Jinja2 template 模板 &#39 编码问题 解决办法:  {{ errors|safe }} 或者 {{ errors | tojson | safe }} 推荐第一条

Cython编译 TypeError: func() takes no keyword arguments 深坑

 今天使用Flask写了个接口,本地测试正常,仿到服务器上就报错,而且是特定函数报错.TypeError: func() takes no keyword arguments 一直以为是关键词冲突了. 后来调试半天,最后定位到是cython的问题 下面的方法无效 setup ( name = 'xxxx', ext_modules = cythonize(["src/*.py"], compiler_directives={"always_allow_keywords": True}) ) 最终解决办法,给函数的参数一个默认值即可. # 原来 def func(a,b): pass # 修改后 def func(a=None, b=None): pass

debian phantomjs error while loading shared libraries: libfontconfig.so.1: cannot open shared

 debian error while loading shared libraries: libfontconfig.so.1: cannot open shared 解决办法 apt-get install libfontconfig1

python 中多数据 list in 非常慢的问题

 一个数据分析的小脚本,刚开始一切正常,越往后数据越大的情况下,发现速度缓慢,最初怀疑文件读取和正则,加了日志输出发现卡在in这里. 这里使用的 list 来存放数据,因为要去重,所以使用了 in 来判断是否存在列表中.现在将list换为dict后解决. 只贴主要代码把. getinfo = {}  #声明 dict if not str in getinfo: #in这里不变     getinfo[str] = '' "\n".join(getinfo.keys()) #最后合并文本

LookupError: unknown encoding: idna 的处理方法

 写了一个脚本,想把它打包成exe文件,在python编译器中运行正常,但是打包成.exe文件运行报错 LookupError: unknown encoding: idna 找遍资料终于找到了解决方法: 在脚本开头import这个module即可,这个可能是某个编码的问题,没有深究,解决就好 import encodings.idna

python 使用 json.loads 解码后编码变为 unicode 解决办法

写了一个小东西,更新入库,然后重新根据长度判断是否更新,这里遇到了坑,长度不一样,最后确定在json loads后编码问题. 编码不对会造成很多问题,比如字符串长度错误,无法匹配等等.   错误示例: >>> import json >>> original_list = ['a', 'b'] >>> json_list = json.dumps(original_list) >>> json_list '["a", "b"]' >>> new_list = json.loads(json_list) >>> new_list [u'a', u'b']  # I want these to be of type `str`, not `unicode`   解决办法,使用object_hook:   import json   def json_lo...

python php pack(“H*”,”xxxxxxxx”)

最近在转换一个PHP项目到Python,遇到了 pack 函数,这里记录一下,别问我为什么不用struct.pack 因为不好用,不好用,不好用. PHP代码如下: pack("H*","65CCD68B3C65D9E012C844378230B596FA47C8A3") Python 代码如下: # encoding: utf-8 import binascii binascii.unhexlify("65CCD68B3C65D9E012C844378230B596FA47C8A3")

VSCODE Python 控制台输出中文乱码,通过修改cmd编码解决

 原因 Windows 下的 cmd 和 powershell 默认是 GBK 编码显示输出内容, 这导致使用 UTF-8 的 Python 程序中的中文内容(包括注释、文档、和字符串字面量)会以不正确的解码方式输出成乱码内容。 解决办法 Windows 内置了一个叫 “chcp” 的命令,它可以修改要显示的字符集编码的编号。UTF-8 的编号是 65001,所以启动 cmd 或者 powershell 以后可以手动输入:chcp 65001来改变编码。 启动 powershell 的时候带上修改编码的参数: “chcp.com 65001” 即可做到自动设置编码。设置如下: 选择:文件 - 首选项 - 用户设置,粘贴下面的配置键值到 json 中保存: "terminal.integrated.shellArgs.windows": ["-NoExit", "/c", "chcp 65001"] 但是注意:仅靠修改代码页编号在 c...

Python 中文字符串截取

  英文截取: >>> s = 'abce' >>> s[0:3] 'abc' 中文截取: #-*- coding:utf8 -*- s = u'中文截取' s.decode('utf8')[0:3].encode('utf8') # 结果u'中文截取

python 删除所有html标签,保留文字.利用自带HTMLParser

 记录一下,python利用HTMLParser删除所有html标签. from HTMLParser import HTMLParser   class MyHTMLParser(HTMLParser):     def __init__(self):         self.reset()         self.fed = []     def handle_data(self, d):         self.fed.append(d)     def get_data(self):         return ''.join(self.fed) def rmhtml(html):     html = html.replace('</div>','\r\n</div>...