![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
小白_橙子
这个作者很懒,什么都没留下…
展开
-
python + selenium的使用 - mac可能出现的问题
1、安装seleniumpip install Selenium2、下载浏览器驱动(我个人使用chrom,这里针对chrom说明)https://sites.google.com/a/chromium.org/chromedriver/downloads(开启代理)首先查看对应浏览器的版本,下载对应的驱动3、下载后进行解压,将其放在mac的 /usr/local/bin/ 目录下即可4、这时启动文件可能出现问题PermissionError: [Errno 13] Permissio原创 2020-10-13 10:12:32 · 570 阅读 · 0 评论 -
python面试--redis 高并发处理方式
redis的高并发处理方式其实redis是不会存在并发问题的,因为他是单进程的,再多的命令都是一个接一个地执行的。我们使用的时候,可能会出现并发问题,比如获得和设定这一对。Redis的为什么 有高并发问题?Redis的的出身决定Redis是一种单线程机制的nosql数据库,基于key-value,数据可持久化落盘。由于单线程所以redis本身并没有锁的概念,多个客户端连接并不存在竞争关系,但...原创 2019-02-13 17:36:31 · 3472 阅读 · 1 评论 -
python面试题--统计文件中字母出现的次数
统计字母出现的次数fp = open('a.txt','r',encoding='utf-8')content = fp.read()print(content)li,li2,li3,li4= [],[],[],[]for j in range(97, 123): li.append(j)for v in li: li2.append(chr(v))for j in...原创 2019-02-13 17:09:48 · 15379 阅读 · 2 评论 -
Numpy入门基础用法
numpy的引入如何保存数据python原生数据结构支持list和dict,虽然很灵活,但空间占用率和时间效率不高。类型不做限制空间内可以保存不同的数据结构优点是灵活,缺点是效率低a1 = [1, 2]a1.append('star')a1------------------------------------------------------------------...原创 2019-02-28 13:06:47 · 274 阅读 · 0 评论 -
数据结构基础理论--冒泡排序,快速排序...代码实现
数据结构基础理论—查找与排序问题查找算法在一堆东西中,找到一个东西最基本写法:从头到尾依次寻找,如果找到,就反馈,最后循环完成后,反馈失败def find_value(data, val): for i,x in enumrate(data): if x == val: return i return -1监视哨...原创 2019-02-15 16:19:05 · 299 阅读 · 0 评论 -
阿里云部署flask
阿里云部署日志一、软件安装篇1. python解释器安装从源码编译python在root用户的家目录下创建一个独立目录,专门编译python.$ mkdir soft-build/python-lab$ cd soft-build/python-lab下载python 3.6 源码, 并解压到当前目录下,进入源码主目录$ wget https://www.python...原创 2019-01-29 21:01:08 · 1657 阅读 · 0 评论 -
django项目部署
django项目部署导出安装包pip freeze > packages.txt 使用安装包安装 包pip install -r packages.txt收集静态文件在配置文件中注释:STATICFILES_DIRS添加:STATIC_ROOT = os.path.join(BASE_DIR,‘static’)使用命令: python manage.py collects...原创 2019-01-29 13:23:03 · 757 阅读 · 0 评论 -
python操作mysql
python操作mysql安装pymysql在命令行 :pip install pymysql在pycharm中,terminal输入pip install pymysql在pycharm中 :setting —>project interpreter —> + —> 搜索pymysqlpython操作步骤导入模块 impor...原创 2019-01-28 17:34:19 · 191 阅读 · 0 评论 -
mongodb常用命令
mongodb常用命令数据库的操作show dbs ; 显示所有的数据库db; 显示当前使用的数据库use 数据库名; 创建或切换数据库db.dropDatabase(); 删除数据库集合的操作db.createCollection(集合名,选项)选项 :{capped:true,size:10} 可以不写显示 ...原创 2019-01-28 17:01:49 · 156 阅读 · 0 评论 -
python 操作mongodb
python 操作mongodb基本步骤导入pymongoimport pymongo创建客户端client = pymongo.MongoClient('主机地址:端口号')获取数据库db = client.数据库名获取集合collection = db.集合名集合的操作添加集合.insert_one({json})集合.insert_ma...原创 2019-01-28 17:00:46 · 181 阅读 · 0 评论 -
CrawlSpider全网爬虫
CrawlSpider全网爬虫CrawlSpider是继承了Spider的全站爬虫类。CrawlSpider类定义了一些规则(rule)来提供跟进提取出来的网址link的方便的机制,更适合从爬取的网页中获取新的link并继续爬取的工作。产生一个crawlspiderscrapy genspider -t crawl 爬虫名LinkExtractors(链接提取器)在响应中可以使用xp...原创 2019-01-22 17:33:53 · 2016 阅读 · 0 评论 -
多线程爬虫
多线程爬虫全局解释器锁GIL 控制着Python的线程能否得到CPU的计算资源,正是这个锁来控制同一时刻只有一个线程能够运行。多线程的编码方式可以分为两种:第一种是面向对象式编程,第二种是面向函数式编程。队列的类型:先进先出 queue.Queue(maxsize=0)后进先出 queue.LifoQueue(maxsize=0)优先队列 queue...原创 2019-01-16 22:32:20 · 2097 阅读 · 0 评论 -
python匿名函数lambda详解
lambda是Python编程语言中使用频率较高的一个关键字。那么,什么是lambda?它有哪些用法?这里,我们通过阅读各方资料,总结了关于Python中的lambda的“一个语法,三个特性,四个用法,一个争论”。一个语法在Python中,lambda的语法是唯一的。其形式如下:lambda argument_list: expression其中,lambda是Python预留的关键字,...转载 2019-02-20 10:30:29 · 385 阅读 · 0 评论 -
python面试题--mysql引擎Innodb与MyIASM区别
1.Innodb引擎 支持事务 支持锁 行锁和表锁:但是当SQL语句没有指定要锁定的具体行范围的话,Innodb 也会锁全表。 支持外键约束2.MyIASM引擎 MyIASM是MySQL默认的引擎,不支持事务,也不支持行级锁和外键,只支持表级锁。两种引擎的比较: 大尺寸的数据集趋向于选择InnoDB引擎,因为它支持事务处理和故障恢复。数据库的大小决 定了故障恢复的时间长短,InnoDB可以利...原创 2019-02-13 17:41:20 · 328 阅读 · 0 评论 -
python 部分笔试代码题整理
生成器实现斐波那契def Fob(n): count=1 pre=0 nex=1 while count<n: pre,nex=nex,pre+nex count+=1 yield prefob=Fob(8)for v in fob: print(v)迭代器实现斐波那契class myFactori...原创 2019-02-25 19:11:38 · 1557 阅读 · 0 评论 -
python连接远程服务器读取文件
python连接远程服务器读取文件import osimport paramikodef get_params(host, cmd, cont): host = host user = 'root' s = paramiko.SSHClient() s.load_system_host_keys() s.set_missing_host_key_p...原创 2019-09-29 17:58:33 · 11538 阅读 · 0 评论 -
python获取threading线程返回结果
python获取threading线程返回结果class MyThread(threading.Thread): def __init__(self, func, args=()): super(MyThread, self).__init__() self.func = func self.args = args def ru...原创 2019-09-18 14:32:56 · 9177 阅读 · 3 评论 -
Python高阶部分扩展 (collections,有序字典 ,itertools)
Python高阶部分扩展 (collections ,itertools)python3 collections扩展可命名元组 :namedtuplefrom collections import namedtuplestock_namedtuple = nametuple('stock',(date,txt))stock_namedtuple('20190712','sun')#...原创 2019-07-12 11:27:05 · 217 阅读 · 0 评论 -
python中的加密算法 -- MD5加密--DES加密
MD5加密算法MD5消息摘要算法,属Hash算法一类。MD5算法对输入任意长度的消息进行运行,产生一个128位的消息摘要。不可逆性每个人都有不同的指纹,看到这个人,可以得出他的指纹等信息,并且唯一对应,但你只看一个指纹,是不可能看到或读到这个人的长相或身份等信息。特点1、 压缩性:任意长度的数据,算出的MD5值长度都是固定的。2、 容易计算:从原数据计算出MD5值很容易。3、 抗...原创 2019-03-04 19:37:20 · 689 阅读 · 0 评论 -
python 部分面试题整理(3)
OOP思想的理解面向对象是相对于面向过程而言的。面向过程语言是一种基于功能分析的、以算法为中心的程序设计方法;而面向对象是一种基于结构分析的、以数据为中心的程序设计思想。在面向对象语言中有一个有很重要东西,叫做类。面向对象有三大特性:封装、继承、多态。简单来说就是面向对象是关注结果,而面向过程是关注实现的过程。python的优点缺点优点:Python既支持面向过程的函数编程也支持面向对象的...原创 2019-03-03 21:51:08 · 652 阅读 · 0 评论 -
flask框架的应用要点--对象字典化--flask-login--session机制
任意对象字典化在api接口中使用,精简代码字典是可以迭代的,要使对象字典化,也要使对象能够迭代,可以采取鸭子类型,使用魔术方法__getitem__ 迭代获取到值。怎么获取值呢?任何字典的keys是直接暴露在外面的,只要知道keys就能够得到对应的values中。通过提供的 getitem 方法,获取keys提供的键,去找到相应的值,使对象字典化例子class P: name = ...原创 2019-02-27 12:50:27 · 641 阅读 · 0 评论 -
anaconda 数据分析环境平台搭建
数据分析环境平台搭建一、Conda环境介绍1、简介1.1、conda环境和virtualenv虚拟环境的区别conda创建的是一个独立python解释器,独立模块管理的目录结构virtualenv创建的是一个共享python解释器,独立模块管理的目录结构1.2、安装方法下载miniconda推荐使用国内镜像进行下载:国内一般使用清华源和中科大源中科大: http://...原创 2019-02-26 11:03:41 · 986 阅读 · 0 评论 -
python 部分面试题整理(2)
为什么要建索引,什么字段可以建索引,什么不能建索引1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;7、复合索引的建立需要进行仔细分析;尽量考...原创 2019-02-25 19:31:00 · 263 阅读 · 0 评论 -
python 部分面试题整理(1)
Python中sort和sorted的区别区别:sort:是容器的函数,对列表(list)的成员进行排序并且改变的是原列表sorted:是Python的内建函数,用built-in函数sorted进行排序并且返回的是新的列表,对所有可迭代的对象均有效python下多线程的限制以及多进程中传递参数的方式python多线程有个全局解释器锁(global interpreter loc...原创 2019-02-25 19:20:35 · 696 阅读 · 0 评论 -
链表的实现--代码演示
# 节点类,链表节点类分为data与next域class Node: def __init__(self,data): self.data = data self.next = None# 单链表头节点class SingleLinkList: def __init__(self): self._head = None ...原创 2019-02-25 19:13:32 · 394 阅读 · 0 评论 -
scrapy进阶
scrapy进阶itemItem是保存爬取数据的容器,它的使用方法和字典类似。不过,相比字典,Item提供了额外的保护机制,可以避免拼写错误或者定义字段错误import scrapyclass Minimp4SpiderItem(scrapy.Item): # define the fields for your item here like: # 保存的键 ...原创 2019-01-21 12:52:20 · 565 阅读 · 0 评论 -
分布式爬虫scrapy-redis
分布式爬虫Scrapy-Redis分布式爬虫是由一组通过网络进行通信、为了完成共同的爬虫任务而协调工作的计算机节点组成的系统。分布式爬虫是将多台主机组合起来,共同完成一个爬取任务,大大提高爬取效率。调度器扩展多个,对应的下载器也扩展多个,但是保证爬取的队列是惟一的,也就是共享爬取队列。并且应该要保证,一个调度器调度一个请求以后,其他调度器不会重复调度这个请求。Scrapy-Redis...原创 2019-01-24 18:49:21 · 285 阅读 · 0 评论 -
Scrapy框架
Scrapy框架***Scrapy***是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架。Scrapy 使用了Twisted['twɪstɪd]异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求,加快开发速度。原理图scrapy全局命令# 创建一个项目scrapy startprojec...原创 2019-01-18 19:24:23 · 160 阅读 · 0 评论 -
python基础04
python基础04函数函数定义def 函数名(形参1,形参2,..): 功能代码 return 执行结果结果 = 函数名(实参1,实参2,..)函数加强匿名函数: 变量 = lambda 形参1,形参2,…:逻辑代码参数加强: 形参实参应该一一对应,数量一致 默认参数值:形参可以设置默认值,放在最后面,当实参不传值时,使用默认值作为实参 关键字参数...原创 2018-12-20 22:44:52 · 93 阅读 · 0 评论 -
http静态服务器
http静态服务器代码from socket import *from multiprocessing import Processdef rec_data(new_socket): # 接收数据 require_data = new_socket.recv(1024) if require_data: # 将请求头转化为列表 r...原创 2018-12-20 22:41:28 · 841 阅读 · 0 评论 -
TCP编程实例
TCP实例文件的上传,下载,查看服务端代码from socket import *import osimport pickle# 查看文件目录def show_list(new_socket): data = os.listdir() data = pickle.dumps(data) new_socket.send(data) new_socket...原创 2018-12-20 22:40:07 · 1101 阅读 · 1 评论 -
TCP网络编程
TCP网络编程TCP协议TCP协议,传输控制协议(Transmission Control Protocol,缩写为TCP)是一种面向连接的、可靠的、安全的, 基于字节流的传输层通信协议,它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信),相当于打电话应用场景适合于对传输质量要求较高,以及传输大量数据的通信。在需要可靠数据传输的场合,通常使用TCP协议。...原创 2018-12-20 22:38:46 · 247 阅读 · 0 评论 -
网络编程并发问题
网络编程并发问题单进程设置为非阻塞from socket import *# 创建一个对象tcp_server = socket(AF_INET, SOCK_STREAM)# 设置对象为非阻塞tcp_server.setblocking(False)# 绑定地址和端口tcp_server.bind(("", 6667))# 设置监听的数量tcp_server.listen(3...原创 2018-12-20 22:37:44 · 264 阅读 · 0 评论 -
网络编程 -- 实现聊天室客户端服务端
网络编程TCP/IP协议应用层传输层 TCP UDP网络层 IP接口层 MACISO理论模型应用层 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet表示层会话层传输层 TCP,UDP网络层 IP,ICMP,RIP,OSPF,BGP,IGMP数据链路层 SLIP,CS...原创 2018-12-20 22:37:11 · 283 阅读 · 0 评论 -
python基础03
python基础03数据结构列表列表是一个有顺序的数据容器,可以修改列表的创建 : [] list()列表数据的操作: 添加数据: 列表.append(值) 追加 列表.insert(索引,值) 插入 列表.extend(列表2) 扩展 修改数据: 列表[key] = 值 key不存在会报错 删除数据: del 列表[...原创 2018-12-09 11:20:04 · 89 阅读 · 0 评论 -
python多线程编程
多线程编程概念线程:线程包含在进程中,是一个调度单位进程与线程区别:进程的创建: 会复制一份父进程的内存空间,具备独立的地址空间,修改全局变量不会有影响,进程之间沟通困难线程的创建:线程之间共用一个内存空间,修改全局会有影响,会存在线程安全问题,可以添加互斥锁,线程不能够独立执行,必须依存在进程中代码:# 导入线程包import threadingdef job(v): ...原创 2018-12-09 10:37:21 · 142 阅读 · 0 评论 -
python基础02
python基础02类型转换格式 : 类型(值)注意:数字,布尔,可以随意转字符串只有纯数字的字符串可以转为数字 ,布尔值转换True:1,False:0转布尔:所有真实值都为True,非真实值为False特殊情况: * 的使用:两个数字为乘积,一个为数字,一个不是,为重复多少次 ,如:3* :代表输出3个* 布尔值可以直接参与运算,会自动转为数字 + 的使用: 两...原创 2018-12-06 15:00:53 · 106 阅读 · 0 评论 -
python基础01
python基础01dos命令切换盘符 : 盘符 :进入目录 : cd 目录名返回上一级 : cd ..查看文件列表 : dir注释单行注释 # ...多行注释 '''内容''' 或&quot;&quot;&quot;内容&quot;&quot;&quot;输入变量 = input(&quot;提示信息&quot;)输出pr原创 2018-12-06 14:30:47 · 141 阅读 · 0 评论 -
elm_flask 项目日志 -- flask后台管理系统开发设计
后台管理项目日志项目初始化阶段仓库使用注册码云平台创建工程仓库创建自己的开发分支clone/push/pull的操作新建开发分支能够在远程分支进行pull和push项目搭建搭建项目基本框架目录结构测试首页是否显示工厂函数的设计插件的注册顺序及循环引用如何解决# 工厂函数,注册顺序通过函数来保证from flask import Flaskf...原创 2019-01-05 11:45:34 · 470 阅读 · 0 评论 -
基础爬虫
基础爬虫简单爬取网页信息,未进行过滤代码演示import urllib.requestfrom fake_useragent import UserAgentimport urllib.parseUA = UserAgent()base_url = "https://www.lagou.com/jobs/positionAjax.json?"# 参数为中文需要转码se_url ...原创 2019-01-05 13:21:51 · 815 阅读 · 0 评论