![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python学习
文章平均质量分 50
python相关的博客
房东为什么不退押金
这个作者很懒,什么都没留下…
展开
-
Nutainx接口的调用
Nutainx自动化脚本的编写原创 2022-10-31 23:18:44 · 290 阅读 · 0 评论 -
paramiko远程执行命令
paramiko远程执行命令import numpy as npimport paramikoimport timedef creatSShConnectOb(hostname, username, password, port=22): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) try: ssh.原创 2022-02-09 17:33:56 · 1223 阅读 · 0 评论 -
学习笔记-存储过程、触发器
mysql中变量的定义变量声明 (需要在变量名前面加@): set @number = 1 # 声明变量number的值为1 set @number := 1 # 第二种声明方法 select @number SELECT @money:=money FROM table2 where name = "李四" # 查询值声明变量,@moeny为变量,money为字段名,table2为表名,name为字段名 SELECT @money:=i原创 2021-07-20 00:15:10 · 126 阅读 · 1 评论 -
学习笔记-mysql的视图、事务、索引
mysql中的视图视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。视图的操作定义一个视图: 格式: CREATE VIEW 视图名 AS sql语句 示例:CREATE VIEW test_view AS SELECT name, school from table1使用视图: 格式: select * FROM 视图原创 2021-07-20 00:00:51 · 69 阅读 · 1 评论 -
学习笔记-线程之死锁
lock锁由于线程是使用共享资源,就是多个线程会共用一个全局变量,所有就会出现多个线程同时处理一个任务的问题,而GIL锁就是解决这一问题的关键。就是在多个线程中使用一个GIL锁,每个线程在处理任务时都会锁定,其他线程无法执行任务,待当前线程执行任务完毕释放锁后,其他线程继续执行,以此类推使用GIL锁时需要导入模块Lock代码示例# encoding: utf-8from multiprocessing import Process, Pool, Queueimport timefrom thr原创 2021-07-15 00:38:20 · 109 阅读 · 0 评论 -
pymysql查询数据导出到csv文本中
在没有数据库图形化界面工具时使用# encoding: utf-8# author: HermanTang# date: 2021-07-14"""本工具功能为:将sql语句中查询到的数据导入到csv文本中使用的模块: pymysql、csv工具主要分部分: 1、Exec_Mysql类,用于执行sql语句,并将sql语句查询到的数据返回 2、writer_csv函数,主要是将接受到的数据写入到csv文本中"""import pymysqlimport csvclass Exec_原创 2021-07-14 22:09:07 · 471 阅读 · 0 评论 -
学习笔记-线程
什么是进程:进程是程序的一次动态执行过程,每个进程度拥有自己的地址空间、内存、数据栈一技其他用于跟踪执行的辅助数据操作系统负责其上所有的进程的执行,操作系统会位这个进程合理的分配执行时间什么是线程:线程是操作系统能够进行运算的调度的最小单位,它被包含在进程之中,是进程中的实际运作单位一个线程只得是进程中一个单一的控制流,一个进程中可以并发多个线程,每条线程执行不同的任务一个线程是一个execution context(执行上下文),即一个cpu执行时所需要的一串指令主线程:线程就是创建进程的原创 2021-07-13 23:21:42 · 64 阅读 · 0 评论 -
学习笔记-进程重写与进程间通信
进程间通信进程间通信使用队列,需要使用到multiprocessing模块的Queue方法,队列遵循先进先出的原则,即先加入的会被先取出首先需要先出初始化一个队列,创建一个对象from multiprocessing import Queue # 首先引入需要加载的模块和方法queue = Queue(3) # 初始化队列,3表示这个队列最多存放3个put("参数") 队列中存放参数, 参数timeout为超时时间,单位秒get() 取出队列中的参数,参数ti原创 2021-07-13 00:00:08 · 104 阅读 · 1 评论 -
学习笔记-python中进程的创建
创建一个进程需要使用multiprocessing模块的Process方法使用方法:p1 = Process(target=func) p1就是进程的对象,func就是进程启动是执行的任务;在定义任务时也可以向任务中传参,通过Process方法中的args和kwagrs参数为任务中传递参数;进程对象常用的几种方法:start() 启动进程,当启动多个进程时为并行;run() 启动进程,当启动多个任务时为串行,执行完上一个任务再执行下一个任务;terminate() 终止进程,进程未执行完原创 2021-07-11 21:53:27 · 113 阅读 · 0 评论 -
python学习-通过md5/sha1/sha256/base64进行加解密
python通过md5/sha1/sha256/base64进行加解密hashlib模块为加密算法MD5算法运行1000次的平均时间为:226msSHA1算法运行1000次的平均时间为:308msSHA256算法运行1000次的平均时间为:473ms常见的为后面两种,md5为比较旧的加密方法,可通过撞库实现破解目前SSL证书必都是通过SHA256加密方法三种加密方法都是加密不可逆MD5加密MD5算法的原理可简要的叙述为:MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32原创 2021-07-11 20:02:09 · 1459 阅读 · 2 评论 -
学习笔记-python生成器、迭代器、可迭代
学习笔记-python生成器、迭代器、可迭代一、生成器在Python中,一边循环一边计算的机制,称为生成器:generator列表所有数据都在内存中,如果有海量数据的话将会非常耗内存。如:仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。如果列表元素按照某种算法推算出来,那我们就可以在循环的过程中不断推算出后续的元素,这样就不必创建完整的list,从而节省大量的空间。简单一句话:我又想要得到庞大的数据,又想让它占用空间少,那就用生成器!生成器概念生成器的创建可以通过关键字y原创 2021-07-09 00:01:20 · 80 阅读 · 0 评论 -
学习笔记-python中闭包与装饰器
学习笔记-python中闭包与装饰器闭包的定义:在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。装饰器的定义:装饰器本质上就是一个python函数,它可以让其它函数原创 2021-07-08 01:00:01 · 76 阅读 · 0 评论 -
学习笔记-python函数中变量的使用
学习笔记-python函数中变量的使用函数中的变量区分为全局变量以及局部变量,下文主要讲述在函数中如何引用全局变量以及在子函数中如何引用父函数的局部变量以及全局变量函数引用变量时的一个顺序:1、首先会在函数自身查找;2、当自身不存在时,则向外部函数中寻找;3、外部函数中不存在时,则向全局变量中寻找;4、全局变量中不存在时,则向内置模块中寻找;5、内置模块中不存在时,则报错函数引用变量的几个方法: global 变量名 在函数中引用全局变量时使用 nonlocal 变量名 在内部函数中引原创 2021-07-07 23:24:17 · 218 阅读 · 0 评论 -
记mac上解决scrapy执行爬虫项目报错:[twisted] CRITICAL: Unhandled error in Deferred
报错2021-06-16 23:14:28 [scrapy.core.engine] INFO: Spider openedUnhandled error in Deferred:2021-06-16 23:14:28 [twisted] CRITICAL: Unhandled error in Deferred:解决什么解决,直接重新创建一个项目!首先在pycharm上创建一个新的项目选择创建一个虚拟环境安装scrapy模块python解释器选择为刚刚创建的虚拟解释器再选择安装s原创 2021-06-16 23:30:40 · 713 阅读 · 2 评论 -
python中的列表推导式/集合推导式/字典推导式的用法
python中的列表推导式/结合推导式/字典推导式的用法有列表推导式、集合推导式、字典推导式# encoding: utf-8# 列表推导式"""将旧的列表生成新的列表格式: [表达式 for 变量 in 旧列表 ] 或者 [ 表达式 for 变量 in 旧列表 if 条件 ]"""a = ['www', 'ccc', 'vv', 'bb']b = [i for i in a if len(i) > 2] # 取出列表元素长度大于2的元素到新列表b中# 这里的第原创 2021-06-04 00:03:29 · 121 阅读 · 0 评论 -
pycharm界面安装模块失败,故障排查记录
pycharm界面安装模块失败,故障排查记录界面安装paramiko模模块时提示报错error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/方案一可以尝试更新pip的版本pip install --upgrade pip注意:当系统安装多个p原创 2021-05-19 22:03:06 · 1396 阅读 · 1 评论 -
python通过xpath解析网页爬取高清大图和王者荣耀英雄海报
python通过xpath解析网页xpathXPath,全称 XML Path Language,即 XML 路径语言,它是一门在 XML 文档中查找信息的语言。最初是用来搜寻 XML 文档的,但同样适用于 HTML 文档的搜索。所以在做爬虫时完全可以使用 XPath 做相应的信息抽取。xpath官网一、xpath表达式xpath解析:常用且最便捷高效的一种解析方式,通用性- xpath解析原理:- 实例化一个etree的对象,且需要将被解析的页面源码加载到该对象中- 调用etree对象中的原创 2021-04-14 22:50:45 · 454 阅读 · 1 评论 -
python30行代码爬取百度图片
python30行代码爬取百度图片话不多说直接上代码# encoding: utf-8import requestsimport osdef get_images(name, count): """ name: 为什么类型的图片 count: 为多少张图片 """ url = "https://image.baidu.com/search/acjson?tn=resultjson_com&logid=8287907398748631146&原创 2021-04-08 20:59:33 · 321 阅读 · 0 评论 -
python使用openpyxl模块简单对execl表格操作
python使用openpyxl模块简单对execl表格操作包含:创建execl工作簿、创建工作表,获取工作表数据# encoding: utf-8import openpyxl# 新建execl表格def create_execl(): wb = openpyxl.Workbook() # 创建一个Workbook对象 name_list = wb.sheetnames # 获取当前对象中的所有sheet原创 2021-03-22 23:33:28 · 789 阅读 · 0 评论 -
flask-mysql的连接以及增删改查数据-学习笔记
flask中mysql的连接以及增删改查数据flask中连接mysql需要安装进行一下几个步骤:一、需要安装两个模块首先,创建一个falsk项目需要安装pymysql与flask-sqlalchem模块,可通过pip命令进行安装,也可在pycharm的界面进行安装,这里不做演示二、配置数据库连接在flask项目下创建一个settings.py文件,并配置数据库的相关参数settings.pyDEBUG = True # 当处于debug状态时,每修改一次flask中的代码,都会中新rel原创 2021-03-14 00:19:05 · 952 阅读 · 0 评论 -
Flask中的自定义过滤器、自定义模版
Flask中的过滤器、模版说明一、过滤器(一)、flask中自带的过滤器(二)、自定义过滤器二、模版(一)、模版继承(二)、include(三)、宏说明本文主要讲解Flask中的过滤器的自定义以及模版的自定义一、过滤器过滤器的本质是函数,有时候我们不仅仅只是需要输出变量的值,我们还需要修改变量的显示,甚至格式化、运算等等,而在模板中是不能直接调用 Python 中的某些方法,那么这就用到了过滤器。(一)、flask中自带的过滤器html中变量的引用:{{ 变量 }}过滤器的是用方式:{{ 变量原创 2021-02-27 20:36:01 · 266 阅读 · 0 评论 -
vmware中使用桥接使虚拟机使用宿主机WiFi
vmware中使用桥接使虚拟机使用宿主机WiFi一、在VMware中创建桥接网络二、配置虚拟机网络三、为虚拟机配置固定ip环境宿主机系统:windows10VMware版本:12.5.9 build-7535481虚拟机系统:centos7.7在VMware中有三种网络,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式,可以理解为私有网络,在没有配置路由的情况下是无法访问外网)关于三种网络模式的详细介绍可以自行百度(我也一知半解),让虚拟机使用桥接原创 2021-02-21 14:14:10 · 3020 阅读 · 1 评论 -
python将文件或文件夹打包成exe文件
python将py文件打包成可执行的exe文件需要使用pyinstaller工具一、下载安装pyinstaller包可在pycharm中下载安装在搜索框中输入【pyinstaller】,找到模块执行安装或者在pycharm的【Terminal】中手动输入命令pip install pyinstallerpyinstaller源码包下载链接https://files.pythonhosted.org/packages/b4/83/9f6ff034650abe9778c9a4f86bce原创 2021-02-02 22:05:36 · 948 阅读 · 1 评论 -
python中matplotlib库在线的安装
matplotlib库在线的安装这是将安装源指向国内的清华源pip3 install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simplewhl的安装包安装可以通过一面命令进行下载pip3 download matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple这是matplotlib依赖的模块包名字cycler-0.10.0-py2.py3-none-any.whlkiwis原创 2020-12-13 23:23:52 · 281 阅读 · 0 评论 -
python装饰器的学习笔记和*args、**kwargs的用法
python装饰器的学习笔记装饰器定义一个简单的装饰器装饰器执行返回值python中*args和**kwargs的使用装饰器装饰器是基于闭包上的:闭包是发生函数嵌套,外层函数的返回值为内层函数的函数名,外层函数要有参数,往往被内层函数使用。@函数名就是一个装饰器简言之,python装饰器就是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能。(来自其他帖子)定义一个简单的装饰器首先定义一个装饰原创 2020-12-12 23:05:00 · 1050 阅读 · 0 评论 -
python中使用os模块的popen方法,去除输出多余的空行
在python中可以使用os模快来执行shell语句,在使用popen方式得到自己的输入的shell语句返回值的时候,对多出一个空行,下面示范去除空行的方法可以看到,下面使用popen方法得到的输出值会多处一个空行>>> import os>>> file_info = os.popen('ls -l tmp.txt').read()>>> print(file_info)-rw-r--r-- 1 julie-zhou staff 146原创 2020-11-25 00:56:32 · 2930 阅读 · 2 评论 -
通过urllib库爬取百度翻译,实现中文翻译为英文,英文翻译为中文
# -*- conding: utf-8 -*-"""使用post请求,调用百度翻译使用的是:urllib.request.Requesturllib.request.urlopen()urllib.request.urlencode()urlopen()方法中的url参数可以是字符串,也可以是一个Request对象文中需要js加密,来自下面大佬链接https://www.cnblogs.com/share-record/p/10724408.html"""import urllib原创 2020-11-14 15:52:07 · 692 阅读 · 0 评论 -
python通过wxpy下载所有微信好友头像到本地
通过wxpy模块下载微信好友头像注意:1、qr_file是头像保存路径,需自定义2、微信需要能够在网页登录# -*- coding:utf-8# author: HermanTangimport wxpyimport osqr_file = r'D:\\test\\wechat\\images'bot = wxpy.Bot(cache_path=True, qr_callback= qr_file, console_qr=0) #如果二维码在终端输出则将console_qr值修改原创 2020-11-08 23:59:22 · 247 阅读 · 0 评论 -
python中通过itchat导出所有微信好友信息到execl表格
通过itchat模块查询微信的好友信息再通过xlwt模块将数据解析后写入到execl表格中注意:1、qr_file 这个变量是存储execl表格的路径2、微信需要能登录网页版,不能登录网页版无法登录3、无法获取微信号,只能获取到基本信息# -*- coding: utf-8 -*-# author: Hermant_Tangimport itchatimport xlwtimport osqr_file = r'D:\\test\\wechat'work_book = xlwt.原创 2020-11-08 23:44:49 · 1996 阅读 · 4 评论 -
python通过调用百度天气API接口获取天气信息
python调用百度接口,获取天气信息需要到百度注册开发者账号,通过账号获取到每个账号私有的应用访问(AK)# -*- coding: utf-8 -*-# author: herman_tangimport requestsimport reimport jsonimport csvimport sysimport osAPIkey = 'eiaOYEz8eO9MpU3wKaz0WDA64xaGu2FU'city = input("请输入要查询的城市名: ")file1 = r'原创 2020-10-19 00:41:03 · 1259 阅读 · 0 评论 -
mysql中的内置函数以及查询
系统函数 upper(字段) 将字段转为大写 lower(字段) 将字段转为小写 char_length(字段) 获取字符串中字符的个数 length(字段) 获取字符串的字节数 concat(字段1,字段2...) 将字段合并为一个字段 left(字段1, x) 返回字段1从左边的x个字符 rigth(字段1, y)返回字段1从右边的y个字符 lpad(字段1, n ,xxx) 使用字符xxx(也可是字段)对字段1左边进行补充,知道原创 2020-08-30 14:37:22 · 198 阅读 · 0 评论 -
redis键值对的数据类型和操作
**redis键值对的数据类型和操作对key的增删改查redis是以key和value键值对的类型 set key value [ex nx xx] ex 就是过期时间(秒) nx 不存在则创建 xx 存在则创建 根据key得到value值 setnx 不存在则创建 setex 设置过期时间(秒) setex key value 10(过期时间) mset 批量添加 met key1 value1 key2 value2 ...原创 2020-08-30 14:34:59 · 673 阅读 · 0 评论 -
python中的正则表达式笔记
内置函数re.match(),从字符串的起始位置开始匹配,成功返回一个match对象,否则返回Nonere.fullmatch(),匹配整个字符串,从头到尾一致则返回一个matc对象,否则返回Nonere.findall(),匹配整个字符串,将匹配到的值放在列表中,未匹配到值,返回空列表re.search(),从字符串的开始进行匹配,匹配到返回match对象,否则返回None,有多个匹配记过只返回最开的re.sub(‘a’, ‘b’, ‘abc’),替换,将字符串中的某个或某穿字符串进行替换,将字符原创 2020-07-23 15:22:08 · 309 阅读 · 0 评论 -
python中os模块的操作
os模块的操作os模块 和操作系统相关文件夹的操作 os.mkdir('t') 创建文件夹 os.rmdir(r'C:\Users\admin\Desktop\tt') 删除文件夹,但是只能删为空的,非空无法删除 try: os.mkdir(r'C:\Users\admin\Desktop\tt') except: print('文件已经存在') os.rmdir(r'C:\Users\admin\Desktop\原创 2020-07-22 15:39:07 · 96 阅读 · 0 评论 -
在python中使用json、pickle、MessagePack进行序列和反序列化
序列化:将内存中对象存储下来,把他变成一个个字节。二进制。反序列化:将文件的一个个字节到内存中。序列化保存到文件就是持久化。可将数据序列化后持久化,或者网络传输,也可以将文件中或者网络接受到的字节序列反序列化json:’[key:value, key:value]’一、使用josn进行序列化和反序列化josn中的内置函数:dump()用来处理字符串类型的dumps() 是对数据进行编码,形成json格式的数据里面的参数:kipkey:默认为False,当dict对象里的数据不是Pytho原创 2020-07-22 11:32:07 · 229 阅读 · 0 评论 -
python中对文件的操作记录
文件相关:文件:作用:持久化数据原来数据: list dict ----> 内存文件 硬盘python -----文件 user.txt user.xls文件操作:open(file,mode) —> Open file and return a streamfile代表文件,一写文件的相对路径,因为有些时候会移动文件,可能就会造成读取文件失败而报错注意:只要是mode = ‘r’ 读的文件不存在就会报错,FileNotFoundError: [Errno 2] No原创 2020-07-21 15:34:27 · 240 阅读 · 0 评论 -
python中的异常处理的方法
异常处理的两种方法:1、这么处理异常try: excepttry except elsetry except else fimally2、自定义异常: raise一、raise的异常处理方法raise —>自定义异常,用于抛出异常对象自定义异常: 名字:xxxxError 如:ValueError格式:class xxxError(Exception):def init(self, *args, **kwargs):pass使用:raise xxxError(原创 2020-07-18 09:59:43 · 116 阅读 · 0 评论 -
python中的继承和多继承
继承:使程序的代码更加简练,提高了程序的可读型实现继承格式:class 子类名(父类名):pass继承了父类的非私有的属性对于公有的属性和方法是可以在子类中访问的,但是私有的无法访问1、子类继承父类的非私有属性和方法2、如果子类和父类定义了一个相同的属性,先找子类的属性,再去找父类的属性3、如果父类与子类有相同的方法,则任务子类重写了此方法(重写:override,覆盖)单继承:所有的类默认继承object继承其父类的方式:class 子类(父类):1、单继承class Test:原创 2020-07-16 15:43:44 · 104 阅读 · 0 评论 -
python中魔术方法的解析
Python中类的魔术方法 在Python中以两个下划线开头的方法,init、str、doc、__new__等,被称为"魔术方法"(Magic methods)。魔术方法在类或对象的某些事件出发后会自动执行,如果希望根据自己的程序定制自己特殊功能的类,那么就需要对这些方法进行重写。 注意:Python 将所有以 __(两个下划线)开头的类方法保留为魔术方法。所以在定义类方法时,除了上述魔术方法,建议不要以 __ 为前缀。...转载 2020-07-15 11:10:22 · 107 阅读 · 0 评论 -
python中类中的方法的定义
在类中,变量称为属性,函数称为方法方法又普通方法、类方法、静态方法、魔术方法普通方法的定义类名定义的时候应当注意:类名单词的第一个字母应当大写,采用驼峰式普通类的定义格式:class 类名: def 方法名(self,参数...): pass定义########### 不带参的方法class Tese: //创建一个类Test name = 'tang' //定义一个属性并且赋值 age = 24 //定义一个属性且赋值 def sho原创 2020-07-15 10:49:32 · 335 阅读 · 0 评论