问题:python的lxml模块的xpath如何使用
解决:示例
方法:
from lxml import html
tree = html.fromstring('''
<div class="content">
<h1>《Python模块》</h1>
<p>python的lxml模块的介绍</p>
<p>lxml模块的xpath如何使用</p>
<p>lxml模块的fromstring的使用</p>
</div>
''')
for p in tree.xpath("//div/p"): # 匹配div下p标签
print(p.tag)
print(p.text)
分类 "Python" 下的文章
问题:tornado登录过期时间的设置,三个月免登录功能的实现,关闭浏览器不清空登录cookie的设置
解决:给set_secure_cookie添加expires_days属性
方法:
tornado的set_secure_cookie 默认过期时间为30天, 这样关闭浏览器就是不会自动退出,登录状态会保持30天
self.set_secure_cookie('user', json.dumps(userinfo), expires_days=180) 这样设置,登录信息就会在180天后才会清除,这样就实现了三个月免登录的功能
问题:根据list查询的数据,如何转换成字典
解决:使用dict()和zip()方法
方法:
work = self.db.query(Work).get(165250) qc_ids = c['q' for c in work.json] questions = self.db.query(Question.id, Question.type, Question.info) .filter(Question.id.in_(qc_ids)).all() qcids = [q.id for q in questions] # 问题id列表 qc_dict = dict(zip(qcids, questions)) # 生成id字典 qc_dict1 = dict([(q.id, q) for q in questions]) # 和qc_dict一样 qc_dict2 = [(q, qc_dict1[q]) for q in qc_ids] # 按qc_ids的顺序 print('=========================================') print(qc_ids) print(qc_dict) print(qc_dict2)
问题:希望遍历一个列表list,如何获取index和它的值
解决:使用range()方法
方法:
list = [123,'11','aa']
for i in range(len(list)):
print(i,list[i])
或
for i in list:
print(list.index(i), i)
问题:在python中简单的if语句写法
解决:
a = 3
b = a and a or 4
b = (a == 3) and a or 4
此时b 为3,相当于下面的if语句
if a:
b = a
else:
b = 4
或:
b = a if a==3 else 4