Linux下安装python3

Categories: Python
export LANG=zh_CN.UTF-8 export LANGUAGE=zh_CN.UTF-8 make之前需要检查openssl-devel

cdll windll oledll

Categories: Python
cdll windll oledll 它们的不同之处在于:动态链接库中的函数所遵守的函数调用方式(calling convention)以及返回方式有所不同。 cdll用于加载遵循cdecl调用约定的动态链接库,windll用于加载遵循stdcall调用约定的动态链接库,oledll与windll完全相同,只是会默认其载入的函数统一返回一个Windows HRESULT错误编码。

Decode HTML entities

Categories: Python
Python3.4+ import html print(html.unescape('£682m')) Python2.6-3.3 from html.parser import HTMLParser h = HTMLParser() print(h.unescape('£682m')) link

Python3自定义排序

Categories: Python
1. 笨方法,不推荐 a = ['星期一', '星期三', '星期二', '星期日'] c = {'星期一': 1, '星期二': 2, '星期三': 3, '星期四': 4, '星期五': 5, '星期六': 6, '星期日': 7} b = {} for i in a: b[i] = c[i] b = sorted(b.items(), key=lambda t: t[1]) # b = sorted(zip(b.values(), b.keys())) # 使用zip下面改为j[1] a = [] for j in b: day = j[0] a.append(day) print(a) 2. 自定义大小关系 python3中取消comparison function,使用key function,cmp_to_key帮助cmp过渡为key def compare_day(day1, day2): c = {'星期一': 1, '星期二': 2, '星期三': 3, '星期四': 4, '星期五': 5, '星期六': 6, '星期日': 7} value1 = c[day1] value2 = c[day2] if value1 > value2: return 1 if value1 < value2: return -1 return 0 a = ['星期一', '星期三', '星期二', '星期日'] from functools import cmp_to_key a.

Read More →

XML解析

Categories: Python
XML # document.xml为docx文件中的 from xml.etree.ElementTree import parse from xml.etree.ElementTree import XMLParser f = open('document.xml') doc = parse(f, XMLParser(encoding="utf-8")) # 1 t_elems = doc.findall('.//{http://schemas.openxmlformats.org/wordprocessingml/2006/main}t') # 2 ns = {'w': 'http://schemas.openxmlformats.org/wordprocessingml/2006/main'} t_elems = doc.findall('.//w:t', ns) # 3 t_elems = doc.iter('{http://schemas.openxmlformats.org/wordprocessingml/2006/main}t') for elem in t_elems: print(elem.text) LXML from lxml import etree f = open('document.xml') doc_lxml = etree.parse(f, etree.XMLParser(encoding="utf-8")) # 1 p_lxml = doc_lxml.iter('{http://schemas.openxmlformats.org/wordprocessingml/2006/main}t') # 2 ns = {'w': 'http://schemas.openxmlformats.org/wordprocessingml/2006/main'} find_results = doc_lxml.findall('//w:t', ns) # Namespace prefix->URI mapping known in the context of this Element.

Read More →

dbf读写

Categories: Linux
新建一个dbf并写入数据 import dbf table = dbf.Table('temptable', 'name C(30); age N(3,0); birth D') print(table.field_names) table.open() for datum in (('John Doe', 31, dbf.Date(1979, 9, 13)), ('Ethan Furman', 102, dbf.Date(1909, 4, 1)), ('Jane Smith', 57, dbf.Date(1954, 7, 2)), ('John Adams', 44, dbf.Date(1967, 1, 9)),): table.append(datum) for record in table: print(record) table.close() 读取一个dbf并写入数据 table = dbf.Table('1.DBF') print(table.field_names) table.open() for data in (('1000', '10000001', '1', '1', '1', '1', '2', '1'), ): table.append(data) table.close()

lxml

Categories: Python
from lxml import etree html = etree.HTML(resHtml, parser=etree.HTMLParser(encoding='utf-8')) # 处理源文件的时候,由于没有指定编码,所以它使用了一个默认编码,从而导致和UTF-8冲突,产生乱码 # http://lxml.

Read More →