
Python
atopx
一个真正热爱编程且具有极客精神的程序猿,python、golang、rust
展开
-
经纬度转换(go/python/rust)
golang代码github.com/yanmengfei/coordgo get github.com/yanmengfei/coord@v0.0.1使用package mainimport ( "fmt" "github.com/yanmengfei/coord")func main() { var location = "115.668055,34.449162" var lon, lat, _ = coord.LocationToFloat64C原创 2021-08-12 17:43:22 · 855 阅读 · 0 评论 -
python: __setitem__, __getitem__,__contains__
class Tnt(object): def __init__(self, num): self.a = 0 self.num = num def __setitem__(self, key, value): print('setitem, key: ', key, type(key)) print('set...原创 2018-12-19 10:04:40 · 450 阅读 · 0 评论 -
编程的核心思想
七大设计原则1. 开闭原则Open close Principle: 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭2. 迪米特法则Low Of Demeter: 高内聚 低耦合 – high cohesion low coupling3. 单一职责原则Single Responsibility Principle: 一个类负责一项职责4. 接口隔离原则Int...原创 2019-01-01 14:37:27 · 1595 阅读 · 0 评论 -
Python 异步Web框架Sanic
Python 异步Web框架Sanic安装SanicHello World搭建一个后端Web服务器注: 本文参考 Sanic官方文档 编写:安装Sanicpip install sanic # 注意: sanic框架仅支持python3.5+版本Hello World新建一个文件hello.pyfrom sanic import Sanicfrom sanic.response i...原创 2019-01-17 15:33:34 · 1499 阅读 · 0 评论 -
Django配置API为https
一、安装组件pip install django-extensionspip install django-werkzeug-debugger-runserverpip install pyOpenSSL二、修改settings.py文件在INSTALLED_APPS 中注册:'werkzeug_debugger_runserver','django_extensions',三...原创 2019-01-18 10:56:25 · 693 阅读 · 0 评论 -
进程-线程-协程之间的区别与联系
进程 线程 协程进程、线程和协程是三个在多任务处理中常听到的概念,三者各有区别又相互联系。进程进程是一个程序在一个数据集中的一次动态执行过程,可以简单理解为“正在执行的程序”,它是CPU资源分配和调度的独立单位。进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块用来记录进程的外部特...原创 2019-01-25 09:31:09 · 570 阅读 · 0 评论 -
Python-Json模块用法详解
import jsondumps 把python类型(dict, list)转换为json字符串dic = {'a':1, 'b':2, 'c':3}# 把dic转换成json字符串 # ensure_ascii=False 是关闭把中文转换成ASCII# indent=4 写入到文件中自动格式化json_str = json.dumps(ret1, ensure_ascii=Fa...原创 2019-01-15 15:24:55 · 675 阅读 · 0 评论 -
Centos7 上搭建Hadoop3.1.1集群
Centos7 上搭建Hadoop3.1.1集群基本网络配置不论是虚拟机还是物理机, Hadoop集群需要在网络可以共享,且可以访问外网的主机上搭建IP主机名192.168.100.101Hadoop1192.168.100.102Hadoop2192.168.100.103Hadoop3计划好以后将以上表格内的内容写入/etc/hosts...原创 2019-01-15 19:48:02 · 521 阅读 · 0 评论 -
Nginx的安装和配置
Nginx 安装和配置下载Nginx源码: http://nginx.org/en/download.html解压:tar -zxvf nginx-*.tar.gz配置cd nginx./configure --prefix=/usr/local/nginx编译 & 安装make && make install如果没有权限, 使用s...原创 2019-01-22 16:39:11 · 148 阅读 · 0 评论 -
Flask解决跨域访问
安装flask-corspip install flask-cors新建服务端示例文件server.py:from flask import Flask, jsonifyfrom flask_cors import CORSapp = Flask(__name__)CORS(app, resources=r'/*') # 注册CORS, "/*" 允许访问所有api@app....原创 2019-02-12 16:01:46 · 6524 阅读 · 1 评论 -
python调用js代码
安装代码转换工具pip install js2py转换和调用import js2pyjavascript_code1 = open('test.js', 'r', encoding='utf-8').read() # 读取本地js代码# 直接加载js字符串javascript_code2 = """function enString(data) { var key1 =...原创 2019-02-20 17:46:30 · 867 阅读 · 0 评论 -
进程 线程 协程
进程 线程 协程进程、线程和协程是三个在多任务处理中常听到的概念,三者各有区别又相互联系。进程进程是一个程序在一个数据集中的一次动态执行过程,可以简单理解为“正在执行的程序”,它是CPU资源分配和调度的独立单位。进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块用来记录进程的外部特征,描...原创 2019-04-03 11:56:35 · 165 阅读 · 0 评论 -
Python 程序设计
Python 程序设计=====================设计类: 继承, 封装, 多态类抽象: 具有相似特征的事务, 定义类名继承, 多态类属性: 在抽象的类中提取名词考虑隐藏的属性类方法: 抽象的类中提取动词, 完成实际需求功能实例方法: 可以访问类中所有属性方法, 不能修改类属性类方法: 针对对象定义的方法 @classmethod在类方法内部...原创 2018-12-29 10:01:42 · 264 阅读 · 0 评论 -
Python生产者消费者案例 -- 多线程爬取智联招聘
核心思想:创建工厂类, 使用单利模式实现队列数据共享创建生产者类, 提取智联详情页url并存入工厂类队列创建消费者类, 从工厂类队列里取出url并抓取数据代码详情:使用方法说明: python zhilian_spider.py 城市 关键词 最大页码实例: python zhilian_spider.py 杭州 python 10完整代码:import sysimport ...原创 2018-12-29 08:44:02 · 434 阅读 · 0 评论 -
PyCharm 配置AutoPEP8
1. 安装 AutoPEP8打开 终端 | cmdpip install autopep82. PyCharm 配置 AutoPEP8File → Settings → Tools → External Tools → 点击加号Name: AutoPEP8 (随意)Program: autopep8Arguments: --in-place --aggressive --...原创 2018-11-06 14:31:04 · 173 阅读 · 0 评论 -
Python 常见面试题
Python语言特性1 Python的函数参数传递2 Python中的元类(metaclass)3 @staticmethod和@classmethod4 类变量和实例变量5 Python自省6 字典推导式7 Python中单下划线和双下划线8 字符串格式化:\x和.format9 迭代器和生成器10 *args and **kwargs11 面向切面编程AOP和装饰器...原创 2018-11-04 13:17:10 · 567 阅读 · 0 评论 -
Django 快速入门
安装Django版本说明:Django版本Python 版本1.8.x2.7, 3.2, 3.3, 3.4, 3.51.9.x, 1.10.x2.7, 3.4, 3.51.11.x2.7, 3.4, 3.5, 3.62.0.x3.4, 3.5, 3.62.1.x3.5, 3.6, 3....原创 2018-11-11 15:07:12 · 386 阅读 · 0 评论 -
解决Django: [TypeError: __init__() missing 1 required positional argument: 'on_delete']
试用python3.7 + Django2.1.3的时候, 在创建模型类关联外键时, 报如下错误:Traceback (most recent call last): xxxxxxxxxxxTypeError: __init__() missing 1 required positional argument: 'on_delete'解决办法:# 关联外键时设置`on_delet...原创 2018-11-11 15:44:17 · 2790 阅读 · 0 评论 -
Ubuntu下配置python开发环境
linux下配置python开发环境python开发环境配置pyenvvirtualenvpython开发环境配置Python 2和Python 3之间存在着较大的差异,并且,由于各种原因导致了Python 2和Python 3的长期共存。在实际工作过程中,我们可能会同时用到Python 2和Python 3,因此,也需要经常在Python 2和Python 3之间进行来回切换。这就需要对py...原创 2018-12-03 13:52:08 · 1044 阅读 · 0 评论 -
ImportError: No module named 'flask.ext'
错误原因:在python3之后,引入方式已经发生了改变.官方说明: https://stackoverflow.com/questions/20032922/no-module-named-flask-ext-wtf其中说明了, flask.ext.xxx模块改为flask_xxx解决办法:修改源码文件jinjia2ext.py 第33行:# 修改前from flask.ext.ca...原创 2018-12-06 11:35:23 · 265 阅读 · 0 评论 -
通用正则, 抓取a标签href属性
import re# url通用匹配url_regex = re.compile('<a[^>]+href=["\'](.*?)["\']', re.IGNORECASE)# testurl_str = "<a type='akfdf' href='http://www.itmeng.top' xxxx>hahah</a>"result = url_r...原创 2018-12-19 15:46:55 · 7159 阅读 · 1 评论 -
python - xpath使用
xpath使用import lxml.htmlfrom lxml import etreehtml_str = "<xx></xx>"# 把html_str转换为html对象html_s = lxml.html.fromstring(html_str)# 提取标签内容h1 = html_s.xpath('/xx/text()')# etree用法h...原创 2018-12-20 17:31:32 · 531 阅读 · 1 评论 -
Anaconda 安装和使用
Anaconda 安装下载安装包: 官网, 清华源等推荐下载python3 (Anaconda3) 版本按照安装程序提示一步步安装就好了, 安装完成之后会多几个应用Anaconda Navigtor :用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在 Navigator 中手工实现。Jupyter notebook :基于web的交互式计算环境,可以编辑易于人...原创 2018-12-27 16:25:19 · 319 阅读 · 0 评论 -
Scrapy 框架简介
scrapy 运转流程图:如果大家看不懂, 没关系, 下面一段对话内容可以助你理解看完之后是不是感觉秒懂?scrapy 基本命令# 创建项目文件夹(project_name: 项目名)scrapy startproject project_name# 创建一个爬虫(crawl_name: 爬虫名, start.com: 起始url)scrapy genspider craw...原创 2018-12-27 17:02:54 · 244 阅读 · 0 评论 -
关于数据库选择和写爬虫的思路
mongodb mysql redis的区别和使用场景mysql是关系型数据库, 支持事务mongodb, redis是非关系型数据库(noSQL), 不支持事务mysql, mongodb, redis的使用根据如何方便进行选择希望速度快的时候, 选择mongodb或者是redis数据量过大的时候, 选择频繁使用的数据存入redis, 其他的存入MongoDBMongoDB不用提前...原创 2018-12-23 11:19:03 · 1336 阅读 · 1 评论 -
Python程序调试之终端pdb
Python程序调试之终端pdb1. 进入Debug模式2.命令列表实例实例效果1. 进入Debug模式$:python -m pdb xxx.py2.命令列表l --&amp;gt; list 显示当前代码n --&amp;gt; next 向下执行一行代码c --&amp;gt; continue 继续执行代码b --&amp;gt; break 添加断点 &amp;lt;b 行号&原创 2018-10-28 00:00:20 · 1643 阅读 · 0 评论