Python
文章平均质量分 73
铁乐与猫
这个作者很懒,什么都没留下…
展开
-
Polysh批量管理服务器
by:铁乐与猫文章目录用途安装配置(选做)系统变量免密登录使用服务器名方式文件方式(--hosts-file)退出注注:文章下面涉及到ip地址和端口的敏感信息用了x处理代替。读者使用时可自行替换自己环境中的ip地址和端口。用途用在跳板机上(ssh免密登录),然后一条命令可以发送到多台机器执行后并在这一台机器上显示结果。分布式架构下,一个服务部署在多台机器下的运维必备利器。安装Polyshis written in Python and requires Python ≥ 2.4.pip i原创 2020-07-23 15:06:48 · 770 阅读 · 0 评论 -
铁乐学python_Day43_线程池
铁乐学python_Day42_线程池concurrent.futures 异步调用模块concurrent.futures模块提供了高度封装的异步调用接口ThreadPoolExecutor:线程池,提供异步调用ProcessPoolExecutor: 进程池,提供异步调用基本方法submit(fn, *args, **kwargs) 异步提交任务ma...原创 2018-05-23 19:54:38 · 227 阅读 · 0 评论 -
铁乐学python_Day42_线程-信号量事件条件
铁乐学python_Day42_信号量事件条件线程中的信号量同进程的一样,Semaphore管理一个内置的计数器, 每当调用acquire()时内置计数器-1;调用release() 时内置计数器+1; 计数器不能小于0;当计数器为0时,acquire()将阻塞线程直到其他线程调用release()。实例:(同时只有5个线程可以获得semaphore,即可以限制最大连接数为...原创 2018-05-23 18:09:24 · 238 阅读 · 0 评论 -
铁乐学python_Day42_线程锁和队列
铁乐学python_Day42_锁和队列例:多个线程抢占资源的情况from threading import Threadimport timedef work(): global n temp = n time.sleep(0.1) n = temp - 1if __name__ == '__main__': n = 100 l...原创 2018-05-23 17:54:07 · 344 阅读 · 0 评论 -
铁乐学python_Day44_IO多路复用
铁乐学python_Day44_IO多路复用IO模型介绍阻塞IO(blocking IO)一个简单的解决方案:非阻塞IO(non-blocking IO)非阻塞IO实例多路复用IO(IO multiplexing)select监听fd变化的过程分析:异步IO(Asynchronous I/O)IO模型比较分析selectors模块IO复用:selec...转载 2018-05-27 18:17:01 · 672 阅读 · 0 评论 -
铁乐学python_Day40_进程池
进程之间的数据共享基于消息传递的并发编程是大势所趋, 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。 这样极大地减少了对使用锁和其他同步手段的需求,还可以扩展到分布式系统中。 但进程间应该尽量避免通信,即便需要通信,也应该选择进程安全的工具来避免加锁带来的问题。 以后我们会尝试使用数据库来解决现在进程之间的数据共享问题。进程间数据是独立的,可以借...原创 2018-05-15 20:58:06 · 180 阅读 · 0 评论 -
铁乐学python_Day39_多进程和multiprocess模块2
铁乐学python_Day39_多进程和multiprocess模块2锁 —— multiprocess.Lock (进程同步)之前我们千方百计实现了程序的异步,让多个任务可以同时在几个进程中并发处理, 但是它们之间的运行没有顺序,一旦开启也不受我们控制。尽管并发编程能让我们更加充分的利用IO资源,但是也会带来新的问题。 当多个进程使用同一份数据资源的时候,就会引发数据安全或...原创 2018-05-15 17:32:35 · 222 阅读 · 0 评论 -
铁乐学python_Day38_多进程和multiprocess模块1
铁乐学python_Day38_多进程和multiprocess模块1【进程】运行中的程序就是一个进程。 所有的进程都是通过它的父进程来创建的。 因此,运行起来的python程序也是一个进程,那么我们也可以在程序中再创建进程。 多个进程可以实现并发效果,程序中存在多个进程的时候,在某些时候,就会让程序的执行速度变快。 以之前所学的知识,并不能实现创建进程这个功能,所以就需要借助...原创 2018-05-14 20:12:32 · 201 阅读 · 0 评论 -
铁乐学Python_Day33_网络编程Socket模块1
铁乐学Python_Day33_网络编程Socket模块1 部份内容摘自授课老师的博客http://www.cnblogs.com/Eva-J/ 理解socketSocket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。 在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面, 对用户来说,一组简单的接口就是全部...原创 2018-05-07 17:57:43 · 207 阅读 · 0 评论 -
铁乐学python_day29_模块与包学习4
大部份内容摘自授课老师的博客http://www.cnblogs.com/Eva-J/编译python文件编译python文件是为了提高加载模块的速度,强调强调强调:提高的是加载速度而绝非运行速度。python解释器会在__pycache__目录下缓存每个模块编译后的版本,格式为:module.version.pyc。通常会包含python的版本号。例如,在CPython3...转载 2018-04-28 15:42:09 · 138 阅读 · 0 评论 -
铁乐学python_Day41_线程01
线程概念的引入背景进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。 在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行。 ...原创 2018-05-18 21:20:57 · 174 阅读 · 0 评论 -
铁乐学python28_模块学习3
大部份内容摘自授课老师的博客http://www.cnblogs.com/Eva-J/OS模块复习一二>>> import os>>> os.getcwd() # 获取当前所在目录'D:\\PortableSoft\\Python35'>>> os.chdir('d:\\PortableSoft') # 改变工作...原创 2018-04-27 22:42:29 · 188 阅读 · 0 评论 -
铁乐学Python_Day35_Socket模块3和hmac模块
验证客户端链接的合法性如果你想在分布式系统中实现一个简单的客户端链接认证功能,又不像SSL那么复杂, 那么可以利用hmac+加盐的方式来实现。例1:简单的服务端如下#!/usr/bin/env python# _*_ coding: utf-8 _*_import osimport socketimport hmacsecret_key = '老衲洗头用飘柔'.enc...原创 2018-05-11 09:07:08 · 222 阅读 · 0 评论 -
铁乐学python_Day43_协程
铁乐学python_Day43_协程引子之前我们学习了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。 按道理来说我们已经算是把cpu的利用率提高很多了。 但是我们知道无论是创建多进程还是创建多线程来解决问题, 都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。 随着我们对于效率的追求不断提高,基于单线程来实现并发又成为一...原创 2018-05-24 20:18:35 · 133 阅读 · 0 评论 -
铁乐学python_Day43_协程
铁乐学python_Day43_协程引子之前我们学习了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。 按道理来说我们已经算是把cpu的利用率提高很多了。 但是我们知道无论是创建多进程还是创建多线程来解决问题, 都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。 随着我们对于效率的追求不断提高,基于单线程来实现并发又成为一...原创 2018-05-24 20:18:40 · 160 阅读 · 0 评论 -
windows下设置JupyterNotebook默认目录
windows下设置JupyterNotebook默认目录文章目录windows下设置JupyterNotebook默认目录生成配置文件设置默认工作目录设置快捷方式中的目标与起始位置直接修改anaconda中的相关配置文件生成配置文件假设你己经在windows环境变量中设置好了jupyter notebook,则打开cmd,在cmd中输入jupyter notebook --generate...原创 2018-10-14 21:02:36 · 5870 阅读 · 0 评论 -
Flask上传文件
Flask上传文件Flask上传文件改进上传上传进度条一个更简便的方案文件上传的基本原理实际上很简单,基 本上是:一个带有 enctype=multipart/form-data 的 <form> 标记,标记中含有 一个 <input type=file> 。应用通过请求对象的 files 字典来访问文件。使用文件的 save() 方法...原创 2018-09-06 19:50:45 · 1846 阅读 · 0 评论 -
Flask入门和快速上手
Flask入门和快速上手Flask入门和快速上手python三大主流框架对比Flask安装依赖可选依赖创建flask项目flask最小应用–hello word非法导入名称调试模式路由唯一的 URL / 重定向行为URL 构建HTTP 方法静态文件渲染模板操作请求数据本地环境请求对象文件上传Cookies重定向和错误关于响应会话...转载 2018-09-06 11:34:50 · 1930 阅读 · 0 评论 -
pip更新及Requirement already up-to-date解决方法
pip更新及Requirement already up-to-date解决方法文:铁乐与猫2018-9-11更新命令将pip更新到最新版本python -m pip install --upgrade pipAnaconda更新命令为conda install mingw libpythonRequirement already up-to...原创 2018-09-11 16:47:30 · 55322 阅读 · 13 评论 -
windows安装Anaconda3
windows安装Anaconda3by 铁乐与猫windows安装Anaconda3环境安装环境windows7 64位Anaconda3 5.2.0版本 windows64位在官网下载windows版本 https://www.anaconda.com/download/#windows安装点击安装包,前面是选择安装路径,一步一步...原创 2018-09-01 16:20:46 · 967 阅读 · 0 评论 -
openSUSE编译安装python3后找不到ssl模块
openSUSE编译安装python3后找不到ssl模块这会导致你在配置虚拟环境后使用pip去下载包的时候报https连接的错误!所以我在碰到这个情况并千辛万苦解决后将此步骤放到这里作为重要补充,以免你像我那样多次重新编译(极其耗时!)下图是我碰到的在虚拟环境python3.5.6版本下,使用pip安装django时报的错,就是因为编译安装时没有指定ssl。解决办法由于我使...原创 2018-08-15 22:20:23 · 1039 阅读 · 0 评论 -
PyCharm导入模块报No model named
PyCharm导入模块报No model named引言在PyCharm中同目录下import其他模块,出现No model named ...的报错,但实际可以运行的情况。 这很可能是因为PyCharm并没有将当前文件目录路径加入source_path而引起的。解决办法对目录右键make_directory as-->Sources Root 将当前目录路径...原创 2018-08-15 15:27:15 · 5180 阅读 · 2 评论 -
Linux安装多个Python版本
Linux安装多个Python版本Linux安装多个Python版本下载Python源码编译安装补充修改Python软链补充虚拟环境设置不同版本的python下载zlib模块并进行编译安装python导入zlib重新编译python并指定zlib下载virtualenv源码包virtualenv创建虚拟环境因为环境或学习的需要,我们可能需要在...原创 2018-08-15 11:49:22 · 8601 阅读 · 0 评论 -
opensuse编译安装Python3后缺少zlib
opensuse编译安装Python3后缺少zlibopensuse编译安装Python3后缺少zlib前言编译安装python导入zlib重新编译python并指定zlib前言由于opensuse包管理安装的是python2.7,而最近我又用编译安装了python3。 之后使用virtualenv虚拟环境指定创建python3版本的隔离环境时就出现了错误,报缺...原创 2018-08-15 10:02:56 · 1885 阅读 · 0 评论 -
Http协议浅析
Http协议浅析Http协议浅析http协议简介http协议特性http请求协议与响应协议请求协议响应协议响应状态码请求URI定位资源HTTP方法GET:获取资源POST:传输实体主体PUT:传输文件HEAD:获得报文首部DELETE:删除文件OPTIONS:询问支持的方法TRACE:追踪路径CONNECT:要求用隧道协议连接代理示例,python...原创 2018-06-25 08:37:23 · 171 阅读 · 0 评论 -
python_web应用雏型
python_web应用雏型Web应用程序顾名思义,就是一种可以通过Web访问的应用程序, Web应用的最大特点是用户只需要有网络和浏览器,不需要再安装其他软件就可顺利通过web访问到程序。WEB应用程序一般是B/S模式(浏览器端/服务器端)。 Web应用程序首先是“应用程序”,和用标准的程序语言,如java,python等编写出来的程序没有什么本质上的不同。 而在网络编程的意义下,...原创 2018-06-21 20:02:09 · 121 阅读 · 0 评论 -
python面试十题
问题1: 请问如何修改以下python代码,使得下面的代码调用类A的show方法?class A(): def show(self): print("base show")class B(A): def show(self): print("derived show")obj = B()obj.show()答:这道题的考点...原创 2018-06-21 17:57:56 · 313 阅读 · 0 评论 -
铁乐学Python_Day34_Socket模块2和黏包现象
铁乐学Python_Day34_Socket模块2和黏包现象套接字套接字是计算机网络数据结构,它体现了C/S结构中”通信端点”的概念。 在任何类型的通信开始之前,网络应用程序必須创建套接字。 可以将它们比作成电话插孔,没有它将无法进行通信。 套接字最初是为同一主机上的应用程序所创建,使得主机上运行的一个程序(又名一个进程)与另一个运行的程序进行通信。 这就是所谓的进程间通信(I...原创 2018-05-10 20:40:03 · 242 阅读 · 0 评论 -
铁乐学python-shelve模块详解
python序列化模块-shelve模块详解shelve:vt. 将(书等)放置在架子上;搁置,将某事放到一旁不予考虑;将…搁在一边;装搁架于;个人感觉有点像字典缓存?暂时搁置到一旁的意思? 研究了一段时间后,感觉它就是当成了一种临时的数据库(dbm)缓存文件来用的感觉。为什么用shelve?(特别是在已有json和pickle的情况下) 使用json或者pickle持久化...原创 2018-04-21 12:29:09 · 9323 阅读 · 5 评论 -
铁乐学Python_day09_函数
今天我们来学习函数。 产生的原由,若没有函数,会显得重复代码多,可读性差,也会造成重复造轮子的情景。 故产生了函数,用来封装好一个功能,它是以功能为导向的。1、【函数的样式】例如自己定义一个函数: def my_len(): def python中的关键字,用来声明和定义一个函数; my_len 函数名,命名规范与变量命名的一样; def与函数名中间要隔一个空格; 函数名...原创 2018-03-28 19:07:33 · 134 阅读 · 0 评论 -
铁乐学python_day20_面向对象编程2
面向对象的组合用法软件重用的重要方式除了继承之外还有另外一种方式,即:组合 组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合。例:人狗大战,人类绑定上武器来对狗进行攻击:# 定义一个武器类class Weapon: # 该武器的技能有劈砍 def cleave(self, target): target.hp -= 50 # 劈...原创 2018-04-16 21:49:38 · 430 阅读 · 0 评论 -
铁乐学Python_day11_闭包函数
一、【函数名】1)函数名本质上它也是一种变量,特殊的变量;(碰到同名其它变量,依照从上往下的代码执行赋值。)单独打印函数名,输出的是它对应的内存地址:例:def funcl(): print(666)print(funcl)返回如下:<function funcl at 0x0000000000DF5488>2)函数名可以赋值给其它变量名;def...原创 2018-04-03 22:08:36 · 633 阅读 · 0 评论 -
铁乐学Python_day07_集合
1、【List补充】在循环一个列表时,最好不要使用元素和索引进行删除操作,一旦删除,索引会随之改变,容易出错。 如果想不出错,可以采用倒着删除的方法,因为倒着删除进行的话,只是后面元素的位置发生了变化(位移),但不影响前面元素的排列位置。元组在只有一个元素时,需要加个逗号来防止岐义。将列表中索引为奇数的元素进行删除,有三种方法(思路):第一种是最简单的del加切片: 例:...原创 2018-03-28 10:12:07 · 186 阅读 · 0 评论 -
铁乐学python_day10_作业
1、继续整理函数相关知识点,写博客。2、写函数,接收n个数字,求这些参数数字的和。(动态传参)def sum_n(*args): sum = 0 for i in args: sum += i return sum# 验证:print(sum_n(5,6,8,9,45))733、读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什...原创 2018-04-02 23:07:14 · 419 阅读 · 0 评论 -
铁乐学Python_day05-字典dict
1、【字典dict】Python内置了字典:dict的支持,dict全称dictionary, 在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。字典和列表直观上不同的是,字典用的是方括弧’{}’括起来,列表用的是方括号’[]’。例,假设要根据hero3人族兵种的级别查找对应的兵种,如果用list实现,需要两个list: Lv = [‘Lv1’, ...原创 2018-03-27 21:29:13 · 273 阅读 · 0 评论 -
铁乐学python_day09_作业
练习题1、整理函数相关知识点,写博客2、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。def odd_index(l): lis = [] for i in range(len(l)): # 通过range设定索引范围比通过元素找索引要好,因为相同元素返回的索引值会有误 if i % 2 !...原创 2018-04-02 22:59:24 · 414 阅读 · 0 评论 -
铁乐学Python_day08_文件操作
一、【基本的文件操作】参数: 1、文件路径; 2、编码方式; 3、执行动作;(打开方式)只读,只写,追加,读写,写读!#1. 打开文件,得到文件句柄并赋值给一个变量f = open('E:/Python/file/文件操作测试.txt', encoding='utf-8', mode='r')content = f.read()print(content)f.close(...原创 2018-04-02 22:45:06 · 205 阅读 · 0 评论 -
铁乐学Python_day06-整数和字符串小数据池
python小数据池(内存地址)今天来学习认识一下python中的小数据池。 我们都知道 ==是用来作比较,要是两个变量的数值相等, 用==比较返回的bool值会是True:a = 1000 b = 1000 print(a == b) #返回True == 比较的是数值如果我们用a is b这样的方式呢? 注意要测试内存地址is()和接下来的id()方法等都不要在pyCh...原创 2018-03-30 20:50:17 · 715 阅读 · 1 评论 -
铁乐学Python_day04-列表LIST
文:铁乐与猫 2018-3-21Python内置的一种数据类型是列表:list。 list是一种有序的集合,可以随时添加和删除其中的元素。序列中的每个元素都分配一个数字(下标) - 它的位置,或索引, 第一个索引是0,第二个索引是1,依此类推。 (这种设置下len列表的长度时比最大的索引值可以大1,用于循环判断时很有用。)列表都可以进行的操作包括索引,切片,加,乘,检查成员等。...原创 2018-03-30 20:48:41 · 368 阅读 · 0 评论 -
铁乐学Python_day03-字符串常用操作方法
文:铁乐与猫 2018-3-201)字符串首个字母大写,其它字母也会转换成小写:S.capitalize() -> str 记忆方法:capital(大写字母)def capitalize(self): # real signature unknown; restored from __doc__ """ S.capitalize() -> str ...原创 2018-03-30 20:46:29 · 254 阅读 · 0 评论