Python编程技巧(一)
方便一些包的导入1234# 把当前目录、父目录、父父目录引入系统sys.path.append(os.path.abspath("../..")) sys.path.append(os.path.abspath(".."))sys.path.append(os.path.abspath("."))
字符填充12345678In [1]: "cxs".ljust(16, "0")Out[1]: 'cxs0000000000000'In [2]: "cxs".center(16, "0")Out[2]: '000000cxs0000000'In [3]: "cxs".rjust(16, "0")Out[3]: '0000000000000cxs'
tuple拆包1234t = ('cxs',16,2,3)name, *n ...
Python编程-内置函数strip踩坑
背景我们都知道 strip 是用来删除首尾字符串的,在做项目的时候发现很多的bug都是这函数的使用不当(理解不正确)造成的,因此有必要深入研究一下
比如:
12"abc2123".strip("123")Out[4]: 'abc'
本来是想去除尾部的 123 ,期望获取到的结果是 abc2 ,结果把最末尾的 2 也去除了
原理为什么会这样呢?我们来看看官方的解释:链接
最外侧的前导和末尾 chars 参数值将从字符串中移除。 开头端的字符的移除将在遇到一个未包含于 chars 所指定字符集的字符时停止。 类似的操作也将在结尾端发生。
结合上面的例子,翻译成人话就是,开头或结尾的每个字符,只要出现在 ‘123’ 这个列表中,就会剔除,并不是说匹配 123 这个整体,然后再剔除(这是很多人的误区),后面还说,只要遇到某个字符不包含在 123 里面,就会停止剔除操作,比如下面这个例子:
12"ab1c123".strip("123")Out[3]: 'ab1c' ...
Python编程-urllib.parse的用法
urllib.parse 在爬虫开发过程中使用地频率非常高,这里总结了一些常用用法
urlparse(url解析)123456In [16]: from urllib.parse import urlparseIn [17]: u = urlparse(url)In [18]: uOut[18]: ParseResult(scheme='http', netloc='example.com', path='/cxs', params='', query='name=cxs', fragment='age')
补充一下 query 和 params 的区别:
query方式生成的url为 /xx?id=id,params方式生成的url为 xx/id
当path不为空时只能使用query方式
parse_qs(query解析)123456In [19]: from urllib.parse import parse_qsIn [20]: query= ...