开发中常用Debug Trips
打印技巧
在开发中调试中经常打印 json 字符串为了在屏幕上看着更美观舒服
json 字符串对象
import json
string = '{"name": "张三", "age": "10"}'
print(json.dumps(string, indent=4))
# out
{
"name": "张三",
"age": "10"
}
编码规范
为了更符合pep8 等规范
-
在venv 环境中, 安装 autopep8, isort 扩展
在项目创建
.isort.cfg
配置文件[settings] # https://github.com/danielfrg/word2vec/blob/master/pyproject.toml # # 最长度 119 line_length=119 multi_line_output=3 # length_sort=1 # 不存在该配置项 # length_sort_stdlib=1 # known_future_library=future,pies # known_standard_library=std,std2 # 导包顺序 # known_first_party=libs,source.controller,source.models,source.views.schema # sections=FUTURE,STDLIB,THIRDPARTY,FIRSTPARTY,LOCALFOLDER # default_section=THIRDPARTY # no_lines_before=LOCALFOLDER # lines_after_imports = 2 force_grid_wrap = 0 include_trailing_comma =1 use_parentheses = 1
(venv) autopep8 --in-place --aggressive --aggressive file.py file2.py
(venv) isort file.py file2.py
这些繁琐操作, 可以增加git hook
解析 url 内容
-
python2
from urlparse import urlparse parsed_url = urlparse("https://stackoverflow.com/questions/10113090/best-way-to-parse-a-url-query-string/39841923") # out ParseResult(scheme='https', netloc='stackoverflow.com', path='/questions/10113090/best-way-to-parse-a-url-query-string/39841923', params='', query='', fragment='')
-
python3
# urllib.parse 模块提供了一系列用于操纵 URLs 地址及其各组成部分的函数,这些函数或者用于拆分或者用于组装。 from urllib.parse import urlparse parsed_url = urlparse("https://stackoverflow.com/questions/10113090/best-way-to-parse-a-url-query-string/39841923") ParseResult(scheme='https', netloc='stackoverflow.com', path='/questions/10113090/best-way-to-parse-a-url-query-string/39841923', params='', query='', fragment='')
参考:
RFC 1738 统一资源定位 (URL) 的语法
RFC 1808 相对 URLs
RFC 2396 统一资源标识符 (URI) 的一般语法
RFC 3986 统一资源标识符 (URI) 的语法