python

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>...

Python处理csv文件

 CSV(Comma-Separated Values)即逗号分隔值,可以用Excel打开查看。由于是纯文本,任何编辑器也都可打开。与Excel文件不同,CSV文件中: 值没有类型,所有值都是字符串 不能指定字体颜色等样式 不能指定单元格的宽高,不能合并单元格 没有多个工作表 不能嵌入图像图表 在CSV文件中,以,作为分隔符,分隔两个单元格。像这样a,,c表示单元格a和单元格c之间有个空白的单元格。依此类推。 不是每个逗号都表示单元格之间的分界。所以即使CSV是纯文本文件,也坚持使用专门的模块进行处理。Python内置了csv模块。先看看一个简单的例子。 从CSV文件中读取数据 import csv filename = 'F:/Jupyter Notebook/matplotlib_pygal_csv_json/sitka_weather_2014.csv' with open(filename) as f: reader = csv.reader(f) print(list(reade...

python TypeError: ‘newline’ is an invalid keyword argument for this function 错误解决

 最近在学习用python解析csv文件,使用如下代码时出现如题的错误 import csv, os def write_csv(): os.chdir(r'D:\test_python\csv-json') outputFile = open('output1.csv', 'w', newline='') # error line outputWriter = csv.writer(outputFile) outputWriter.writerow(['this', 'is', 'a', 'test']) outputWriter.writerow(['hello, world!', 'i', 'am', 'jack']) outputWriter.writerow([22, 44, 66, 888]) outputFile.close() 代码参照《python编程快速上手-让繁琐工作自动化》,文中解释使用newline=''是为了避免行距两倍的情况。 后在网上查找解决方法,其中一种方法是把error line那行修改为: outputF...