司开星的博客


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于
司开星的博客

理解Python函数装饰器

发表于 2017-04-10  |    |   分类于 编程语言 , Python   |   阅读次数
Python中的函数装饰器是一种能在不修改函数的前提下给函数添加额外功能的写法。 什么是装饰器一个函数修改需求假设已经存在一个函数: 1234import randomdef func_a(): print("I'm func_a, get a random number %s" % rand ...
阅读全文 »
司开星的博客

近期小问题总结

发表于 2017-03-24  |    |   分类于 编程语言 , Python   |   阅读次数
平时遇到的一些值得记录的小问题不好拿来写一篇博客,总结一下写个集合帖。 Python导入导出json时保留对象(object)顺序json.dumps直接导出OrderDict()格式就能保留顺序; json.loads(fp, object_pairs_hook=collections.Order ...
阅读全文 »
司开星的博客

lxml.html.soupparser.fromstring() 出现ValueError Comment may not contain '--' or end with '-' 的解决办法

发表于 2017-03-21  |    |   分类于 编程语言 , Python   |   阅读次数
初始问题近期在使用lxml.html.soupparser.fromstring()载入某个网页HTML时得到一条报错: ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes or contro ...
阅读全文 »
司开星的博客

解决 lxml 处理HTML引起的标签顺序改变问题

发表于 2017-03-15  |    |   分类于 编程语言 , Python   |   阅读次数
问题细节近期在用lxml处理某个网页HTML源码时发现<font>标签的结束标签位置会被改变,具体来说是<font>标签本身包围了一些<p>标签,当<font>外存在<div标签时,<font>标签的结束标签</font> ...
阅读全文 »
司开星的博客

PyQt4 中区分 QListWidget 的双击(itemDoubleClicked)和单击(itemClicked) 信号

发表于 2017-02-21  |    |   分类于 编程语言 , Python   |   阅读次数
问题来源QListWidget 中有itemClicked和itemDoubleClicked两个信号, 分别代表鼠标单击和鼠标双击信号. 不过如果要同时用这两个信号就会发现itemDoubleClicked 信号会触发itemClicked信号. 如果是两个无关的操作倒是没关系, 但如果正好要把这 ...
阅读全文 »
司开星的博客

Dash Docset 创建指南

发表于 2017-02-19  |    |   分类于 编程语言 , Python   |   阅读次数
Dash 是 Macos 上一款热门的API查询工具,可以用来查询很多常用语言/框架的官方文档。Windows 平台有类似的应用zeal和velocity。 本文基于Dash官方文档所写,如有错误欢迎指正。 从其他文档格式转换Docset 支持从其他标准文档格式转换。 Python 文档(Sphin ...
阅读全文 »
司开星的博客

PyQt4 解决主界面阻塞导致状态栏无法刷新的问题

发表于 2016-12-20  |    |   分类于 编程语言 , Python   |   阅读次数
近期写的程序中有个访问网页的操作,比较耗时,于是准备给它加上个状态栏用于提醒当前后台进行到哪一步了。 多线程方式之前写的程序也有这个需求,当时用多线程解决的。写法如下: 123456789101112class SetLabelText(QThread): def __init__(self, ...
阅读全文 »
司开星的博客

Python 的列表推导式、字典推导式

发表于 2016-12-18  |    |   分类于 编程语言 , Python   |   阅读次数
列表推导式列表解析是用一行代码实现根据一个列表生成另一个列表的写法。 基本写法要实现从一个列表中获取满足条件的某些元素组成新的列表: [x for x in [1,2,3,4] if x % 2 == 0] 这行代码输出是 [2, 4]。如果没有 if 的话就是直接复制整个列表。 其他用法修改新列表 ...
阅读全文 »
司开星的博客

Python list 替换项、dict及 orderDict替换 key 的方式

发表于 2016-12-18  |    |   分类于 编程语言 , Python   |   阅读次数
list 替换项12index = list.index(value)list[index] = new_value dict 替换 keydict的 pop()方法可以删除一个 item,之后再添加一个新的 item即可: 12dict[new_key] = item[old_key]dict.p ...
阅读全文 »
司开星的博客

PyQt4 中获取QListWidget 及 QTreeWidget 所有item的方式

发表于 2016-11-01  |    |   分类于 编程语言 , Python   |   阅读次数
PyQt4 的 QListWidget 和 QTreeWidget 中都没有现成的获取所有item的方法。在网上找到了比较简单的获取方式: QListWidget: 12for i in range(0, listwidget.count()): item = listwidget.item(i) ...
阅读全文 »
12345
司开星

司开星

45 日志
11 分类
32 标签
RSS
GitHub Twitter CSDN
Creative Commons
© 2022 司开星