
Python开发
文章平均质量分 53
.NET跨平台
比较认真。编程就是算法和数据结构,算法和数据结构是编程的灵魂。
展开
-
异步io原理
异步 I/O 是提高程序效率和响应速度的重要技术,通过非阻塞 I/O 操作和事件驱动机制,使程序可以在等待 I/O 操作的同时继续执行其他任务。理解异步 I/O 的原理和实现方法,对于编写高性能和高并发的应用程序至关重要。原创 2024-06-05 16:08:49 · 535 阅读 · 0 评论 -
python之sys.argv[]的用法
1、sys.argv 是获取运行python文件的时候命令行参数,且以list形式存储参数2、sys.argv[0]表示代码本身文件路径特别注意:接下来这个例子,sys.argv[0]就应该是文件名test.py,不应包含路径!!!下面我们通过一个极简单的test.py程序的运行结果来说明它的用法import sysa=sys.argv[0]print(a)将test.py保存在c盘的根目录下。在程序中找到 ‘运行’->点击->输入"cmd"->回车键 进入控制台命令转载 2020-11-13 23:16:21 · 666 阅读 · 0 评论 -
利用Python将Json数据转为表格并写入Excel
一、准备数据源注意:每一行都有一个中括号[ ]。[{"name":"风向(act.)","id":"WD","device":"weather","timestamp":1553783825903,"scanDateStr":"2019-03-28 14:37:05","value":111.1,"interval":10}][{"name":"风向(act.)","id":"WD","device":"weather","timestamp":1553783836097,"scanDateStr":转载 2020-10-10 13:07:17 · 11910 阅读 · 0 评论 -
python之__iter__函数与__next__函数
容器(container)容器是用来储存元素的一种数据结构,容器将所有数据保存在内存中,Python中典型的容器有:list,set,dict,str等等。class test(): def __init__(self,data=1): self.data = data def __iter__(self): return self def __next__(self): if self.data > 5:转载 2020-09-25 10:12:25 · 859 阅读 · 0 评论 -
BeautifulSoup模块
BeautifulSoup库以来解析数据及提取数据,读懂html文件并且从中提取需要的数据bs对象 = BeautifulSoup(要解析的文本[must be string],'解析器'[例如html.parser,python内置])# 解析数据:from bs4 import BeautifulSoup...html = res.text # html返回string类的值soup = BeautifulSoup(html,'html.parser')# soup的数据类型是<c.转载 2020-09-19 22:58:59 · 208 阅读 · 0 评论 -
Beautiful Soup用法
IntroductionBeautiful Soup是一个解析网页和构造结构化数据表达形式的优秀函数库。它允许我们利用类型(type)、ID,或者任何其他的属性来访问网页内的任何元素,并获取到代表其内容的字符串。Beautiful Soup还可以很好地处理包含不规范HTML标记的Web页面,当我们根据站点的内容来构造数据集时,这一点是非常有用的。Download我们可以从 http://crummy.com/software/BeautifulSoup 下载到Beautiful Soup。这是一个单独转载 2020-09-19 22:57:43 · 718 阅读 · 0 评论 -
Python包和模块的导入
模块和命名空间一般来说,Python程序往往由多个模块文件构成,通过import语句连接在一起。每个模块文件是一个独立完备的变量包,即一个命名空间。一个模块文件不能看到其他文件定义的变量名,除非它显示地导入了那个文件,所以模块文件在代码文件中起到了最小化命名冲突的作用。因为每个文件都是一个独立完备的命名空间,即使在他们拼写相同的情况下,一个文件的变量名是不会与另一个文件中的变量冲突的。注意:import VS from:应该指出,from语句在某种意义上战胜了模块的名称空间分割的目的,因为from把变量转载 2020-09-19 22:56:18 · 271 阅读 · 0 评论 -
设计哲学
设计哲学设计哲学参考书籍: 程序之美/架构之美YANGI: You aren’t gonna need it, 是 极限编程 的一个编程思想.YANGI 是指永远不要因为预计你会用到某个功能就去写一段代码去实现, 总是只有问题出现了, 真的需要这个功能时才去写.谋定而后动不要立即着手去写, 而是需求真的确定了, 并且想明白怎么开发了才动手.KISS: Keep it short and simpleDRY: Don’t repeat yourself.1.1转载 2020-09-19 22:55:13 · 482 阅读 · 0 评论 -
Python网络爬虫与信息提取【提取,规则】
网络爬虫之规则常用的ide工具Requests库入门网站:http://www.python-requests.orgRequests库安装方法(windows下)安装python以管理员权限打开Windows PowerShell,输入命令pip install requests安装打开idle,输入命令import requests引入requests库访问百度测试r = requests.get("http://www.baidu.com")r.status_转载 2020-09-19 22:51:25 · 595 阅读 · 0 评论 -
正确理解Python中的 @staticmethod@classmethod方法
Python面向对象编程中,类中定义的方法可以是 @classmethod 装饰的类方法,也可以是 @staticmethod 装饰的静态方法,用的最多的还是不带装饰器的实例方法,如果把这几个方法放一块,对初学者来说无疑是一头雾水,那我们该如何正确地使用它们呢?先来看一个简单示例:class A(object): def m1(self, n): print("self...转载 2020-03-13 13:21:05 · 622 阅读 · 0 评论 -
Python3实现微信支付对账单下载导出CSV
微信下载对账单官方内容:应用场景商户可以通过该接口下载历史交易清单。比如掉单、系统错误等导致商户侧和微信侧数据不一致,通过对账单核对后可校正支付状态。注意:1、微信侧未成功下单的交易不会出现在对账单中。支付成功后撤销的交易会出现在对账单中,跟原支付单订单号一致;2、微信在次日9点启动生成前一天的对账单,建议商户10点后再获取;3、对账单中涉及金额的字段单位为“元”。4、对账单接口只能下载三个月以内的转载 2017-05-27 22:30:27 · 8713 阅读 · 0 评论 -
Python2和3的字符串编码差别
本文用实验详细地演示了Python2和Python3在字符串编码上的区别。在Python2中,字符串字面量对应于8位的字符或面向字节编码的字节字面量。这些字符串的一个重要限制是它们无法完全地支持国际字符集和Unicode编码。为了解决这种限制,Python2对Unicode数据使用了单独的字符串类型。要输入Unicode字符串字面量,要在第一个引号前加上前最'u'。Python2中还有一种称为字节字转载 2017-05-27 20:53:36 · 2385 阅读 · 1 评论 -
Pika使用入门(二)【连接到RabbitMQ与回调传递风格】
连接到RabbitMQ与回调传递风格当您使用异步适配器连接到RabbitMQ时,您正在编写面向事件的代码。 连接适配器将阻塞正在观看的IOLoop,当pika应从其读取数据并向RabbitMQ写入数据时。 因为您现在阻止了IOLoop,所以当特定事件发生时,您将收到回拨通知。 示例代码在这个例子中,有三个步骤发生: 1.设置与RabbitMQ的连接 2.启动IOLoop 3.原创 2017-03-28 16:51:52 · 3214 阅读 · 0 评论 -
Pika使用入门(一)【介绍】
介绍Pika是AMQP 0-9-1协议的纯Python实现,试图保持与底层网络支持库相当独立。 支持Python 2.6+和3.3+。 由于线程不适合每一种情况,它不需要线程。 也不要禁止他们。 greenlets, callbacks, continuations and generators也是如此。 然而,它不一定是线程安全的,实际的结果可能会有些不同。。 人们可能正在使用 direct原创 2017-03-27 15:04:28 · 17168 阅读 · 6 评论 -
Python使用tensorflow入门指南
TensorFlow是Google公司2015年11月开源的第二代深度学习框架,是第一代框架DistBelief的改进版本. TensorFlow支持python和c/c++语言, 可以在cpu或gpu上进行运算, 支持使用virtualenv或docker打包发布.开始使用TensorFlow并不是一个纯粹的神经网络框架, 而是使用数据流图进行数值分析的框架.TensorFlow使用有向图(gr转载 2017-03-27 16:05:48 · 38679 阅读 · 3 评论 -
Python标准库之sqlite3使用入门(一)
在这个世界上,只有摆脱自卑和抑郁,正确认识自己的价值,对自己充满自信,就能轻松的面对一切。创建表 和 数据import sqlite3conn = sqlite3.connect('example.db')c = conn.cursor()c.execute(''' CREATE TABLE person (id INTEGER PRIMARY KEY A原创 2016-09-18 16:52:39 · 2349 阅读 · 0 评论 -
Python自学笔记
Falsk 安装命令然后配置虚拟目录,输入:virtualenv myvir并且我们可以在电脑中看到这个目录,然后继续运行:cd D:\FlaskDemo\myvir\Scripts然后:activate.bat进入了虚拟环境,然后:easy_install Flask最后执行cd D:\FlaskDemo\apppython hello.py使用下面的命令可以创建一个projectdjango-原创 2017-10-16 23:13:41 · 727 阅读 · 2 评论 -
Redis使用入门(二)【Windows下Python客户端redis-py使用】
主从集群复制,哨兵sentinel模式RedisTest.py代码入下:import redisfrom rediscluster import StrictRedisCluster"""普通连接redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令(比如,SET命令对应与StrictRedi原创 2016-09-22 22:53:26 · 16991 阅读 · 1 评论 -
Python操作Excel新版本xlsx文件
之前处理excel的读写时用的是xlrd/xlwt,但是这两个库有个缺点就是只对xls的格式处理的比较好,对以xlsx结尾的格式就不行了。由于现在大家使用的都是最新版本的office,excel的格式都是xlsx,因此此时再继续用xlrd/xlwt处理就不合适了,庆幸的是对于xlsx文件的读写,我们还可以使用openpyxl来操作。我对excel并不熟悉,平时也不怎么用,所以对excel的处理很简单转载 2017-05-20 23:37:32 · 6882 阅读 · 0 评论 -
网易新闻排行榜爬虫
一些说明:使用urllib或requests包来爬取页面。使用正则表达式分析一级页面,使用Xpath来分析二级页面。将得到的标题和链接,保存为本地文件。NewsSpider.py代码:import osimport sysimport urllibimport requestsimport refrom lxml import etreedef StringListSave(sa转载 2017-06-21 16:12:10 · 2279 阅读 · 0 评论 -
Python3实现豆瓣读书爬虫
doubanSpider.py# -*- coding: UTF-8 -*-import sysimport timeimport urllibimport requestsimport numpy as npfrom bs4 import BeautifulSoupfrom openpyxl import Workbook# Some User Agentshds = [{'User原创 2017-07-06 21:00:37 · 4379 阅读 · 0 评论 -
Python3.6 模块安装记录
“error: Microsoft Visual C++ 14.0 is required…”问题解决今天在Python 3.6环境中,制作词云,需要安装wordcloud模块,在安装的过程中遇到了“error: Microsoft Visual C++ 14.0 is required…” 的问题,很是烦恼,最后找到了一个解决办法: 常规的安装模块包都是通过:pip install xxxcon转载 2017-10-30 10:39:47 · 846 阅读 · 1 评论 -
Python WSGI 中文版
PEP 333 - Python Web Server Gateway Interface v1.0 中文版============ 翻译自 Python Web Server Gateway Interface v1.0 PEP 333 - Python Web Server Gateway Interface v1.0译者的话 Python基础学完后,免不了要深入到Python的主流转载 2017-11-08 15:32:27 · 1016 阅读 · 0 评论 -
关于Python3中venv虚拟环境
Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替Python之前的virtualenv。该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持。每一个虚拟环境都有其自己的Python二进制(允许有不同的Python版本创作环境),并且可以拥有自己独立的一套Python包。他最大的好处是,可以让每一个python项目单独使用一个环境,而不会影响pyth...转载 2018-07-31 23:04:15 · 1266 阅读 · 0 评论 -
python列表(list)的使用技巧及高级操作
1、合并列表(extend) 跟元组一样,用加号(+)将两个列表加起来即可实现合并:In [1]: x=list(range(1, 13, 2))In [2]: x + ['b', 'a']Out[2]: [1, 3, 5, 7, 9, 11, 'b', 'a'] 对于已定义的列表,可以用extend方法一次性添加多个元素:In [7]: x2=[3, 6, 1]In...转载 2018-08-22 13:12:01 · 1467 阅读 · 0 评论 -
python List,它不是一个简单的数组
第一次,学python的时候,我看到列表这个词语,并不知道这是什么东西。听名字,感觉很高大上。当学习列表完,原来只不过就是一个数组(数组的升级版)。 List是python里面最基本的数据结构。序列中每个元素都是从索引(下标)从0开始,依次叠加。 List操作的方法很多,只能熟悉基本常用的这个方法。 第二个数据结构是元祖,元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便...转载 2018-08-22 13:29:23 · 644 阅读 · 0 评论 -
百度地图POI爬虫(Python3)
示例一# -*- coding:utf-8 -*-import csvimport jsonimport codecsimport osimport stringimport sysimport timeimport urllib.requestfrom urllib.parse import quoteclass BaiDuPOI(object): def _...转载 2018-09-07 23:26:27 · 5019 阅读 · 6 评论 -
Python设计模式(十三)【状态模式】
志向和热爱是伟大行为的双翼"""状态模式的实现"""from __future__ import print_functionclass State(object): """基本状态。这是共享的功能""" def scan(self): """扫描拨盘到下一状态""" self.pos += 1 if self.pos == len(原创 2016-08-30 10:54:15 · 2739 阅读 · 0 评论 -
Python设计模式(五)【建造者模式】
继续写"""建造者模式"""#主管者,构造一个使用Builder接口的对象#调用具体建造者来创建复杂对象的各个部分,在指导者中不涉及具体产品的信息,只负责保证对象各部分完整创建或按某种顺序创建。class Director(object): def __init__(self): self.builder = None def construct_building原创 2016-08-26 10:50:58 · 2288 阅读 · 0 评论 -
PyMongo使用入门(七)
TLS/SSL和PyMongoimport sslimport pymongofrom pprint import pprintfrom pymongo import ReadPreferencefrom pymongo.errors import BulkWriteErrorfrom pymongo import MongoClient#TLS/SSL and PyMongoclient原创 2016-09-06 16:15:43 · 1744 阅读 · 0 评论 -
PyMongo使用入门(六)
高可用和读写分离import pymongofrom pprint import pprintfrom pymongo import ReadPreferencefrom pymongo.errors import BulkWriteErrorfrom pymongo import MongoClient"""Mongodb执行mkdir -p /data/db0 /data/db1 /原创 2016-09-06 15:56:16 · 3459 阅读 · 0 评论 -
Python设计模式(十八)【享元模式】
即然选择了脚下这条路,就算是跪着都要把他走完。# -*- coding: utf-8 -*-"""享元模式"""import weakrefclass FlyweightMeta(type): def __new__(mcs, name, parents, dct): """ name: 类名 parents: 父类 d原创 2016-08-30 16:20:42 · 2551 阅读 · 0 评论 -
Python设计模式(十八)【组合模式】
天空黑暗到一定程度,星辰就会熠熠生辉。"""组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。""""""一个类定义的组合对象,它可以用名称来存储分层使用的字典。这个类是相同的分层字典,但它按名称提供方法来添加/访问/修改子元素,就像一个组合。"""def normalize(val): """ 正常化一个特殊字符的字符串,原创 2016-08-30 15:44:25 · 1625 阅读 · 0 评论 -
Python设计模式(十七)【观察者模式】
勇敢,世界就会让步。如果有时候你被它打败了,不断地勇敢再勇敢,它就会屈服。"""观察者模式"""class Subject(object): def __init__(self): self._observers = [] def attach(self, observer): if observer not in self._observers:原创 2016-08-30 15:29:11 · 1698 阅读 · 0 评论 -
Python设计模式(十六)【迭代器模式】
人只要不失去方向,就不会失去自己!"""Implementation of the iterator pattern with a generator一个生成器实现迭代器模式"""from __future__ import print_functiondef count_to(count): """由数字编号计数,最多五个""" numbers = ["one", "two原创 2016-08-30 14:41:48 · 2454 阅读 · 0 评论 -
Python设计模式(十五)【访问者模式】
只要能执着远大的理想,且有不达目的绝不终止的意愿,便能产生惊人的力量。"""访问者模式"""class Node(object): passclass A(Node): passclass B(Node): passclass C(A, B): passclass Visitor(object): def visit(self, node, *args, *原创 2016-08-30 14:18:09 · 2172 阅读 · 0 评论 -
Python设计模式(十四)【策略模式】
生活充满了选择,而生活的态度就是一切。"""策略模式"""import typesclass StrategyExample: def __init__(self, func=None): self.name = '策略例子0' if func is not None: """给实例绑定方法用的,不会影响到其他实例"""原创 2016-08-30 11:25:31 · 1177 阅读 · 0 评论 -
Python设计模式(十二)【代理模式】
生活赋予我们一种巨大的和无限高贵的礼品,这就是青春:充满着力量,充满着期待志愿,充满着求知和斗争的志向,充满着希望信心和青春。"""代理模式"""import timeclass SalesManager: def talk(self): print("销售经理准备谈")class Proxy: def __init__(self): self.bu原创 2016-08-29 23:54:06 · 1627 阅读 · 0 评论 -
Python设计模式(十一)【原型模式】
人的理想志向往往和他的能力成正比"""原型模式"""import copyclass Prototype: value = 'default' def clone(self, **attrs): """克隆一个原型,并更新内部属性字典""" obj = copy.deepcopy(self) obj.__dict__.update(att原创 2016-08-29 23:27:30 · 2200 阅读 · 0 评论 -
Python设计模式(十)【工厂模式】
要勇敢选择自己想要的生活"""工厂模式"""class ChineseGetter: def __init__(self): self.trans = dict(dog="狗", cat="猫",parrot="鹦鹉",bear="熊") def get(self, msgid): """如果我们没有一个翻译,我们会把""" retur原创 2016-08-28 21:53:05 · 4312 阅读 · 0 评论