- 博客(51)
- 收藏
- 关注
原创 tkinter图形编程的简单应用
用户名和密码弹框输入import tkinter as tkimport tkinter.messageboxfrom tkinter import filedialogclass ObtainUserInfo(object): def __init__(self, ): self.enter_w = tk.Tk() self.username = '' self.password = '' self.enter_w.tit
2022-01-04 09:37:54
315
原创 python pyinstaller封装成exe, 本地执行正常, 放入服务器执行报错
执行报错信息如下: 报错信息: Failed to extract MSUCP140_1.dll:decompression resulted in return code -1 报错信息: Failed to extract PIL/_imaging.cp36-win32.pyd : decompression resulted in return code -1上述报错信息, 是由于c磁盘爆满, 清理一下磁盘...
2021-12-01 13:27:54
5014
原创 python Selenium运行报错:Windows找不到文件
selenium 运行打开谷歌浏览器报错主要原因是找不到浏览器路径解决方案如下:# -*- coding:utf-8 -*-from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionschrome_options = Options()chrome_options.add_argument('–no-sandbox')chrome_options.add_argument('–dis
2021-11-29 15:10:02
1272
原创 python 绘制动态二维码
MyQR绘制动态二维码# -*- coding: utf-8 -*-"""@author: xuan@time: 2021/07/16 15:00@FileName: 生成二维码.PY"""from MyQR import myqrmyqr.run( words='https://blog.csdn.net/xxy_yang?spm=1001.2101.3001.5343', version=5, level='H', picture='D:/ChromeC
2021-08-01 16:32:31
102
原创 python 绘制动态韦恩图
绘制动态韦恩图# -*- coding: utf-8 -*-"""@author: xuan@time: 2021/07/30 10:07@FileName: 绘制动态韦恩图.PY"""import matplotlib.pyplot as pltfrom matplotlib_venn import venn3import pandas as pdimport imageioimport osimport sys# 处理中文显示乱码的问题plt.rcParams['font.
2021-08-01 16:27:00
505
原创 Pandas操作表格数据
读取表格数据pandas常用的读取文本数据的函数函数描述read_csv从文件,url或者文件类型对象读取分隔好的数据, 逗号是默认分隔符read_excel从excel的xls或者xlsx文件中读取表格数据read_table从文件,url或者文件类型对象读取分隔好的数据, 制表符(’\t’)read_html从html文件中读取所有表数据read_json从json字符串中读取数据read_sql将sql查询的结果, 读取为pandas的
2021-07-12 13:04:19
195
原创 pandas学习小结
SeriesSeries创建一维数组"""Series是一种一维的数组型对象,它包含了一个值序列(与NumPy中的类型相似),并且包含了数据标签,称为索引(index)"""# Series数组, 默认索引[0-N]obj = pd.Series([1, 2, 3, 4, 5])# 设置索引obj2 = pd.Series([4, 7, -7, 3], index=['a', 'b', 'c', 'e'])Series数组读取, 更新数据""" Series 数据读取 """ob
2021-07-09 17:37:13
148
原创 栈(Stack)和队列(Queue)
栈(Stack)栈(stack)又名堆栈,它是一种运算受限的线性表只允许在栈顶进行插入和删除操作的线性表向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。遵循先进后出的原则# 利用list实现栈class Stack(object): def __init__(self): self._list = [] # 入栈 def
2021-06-03 10:29:28
121
原创 openpyxl操作表格的基本用法
创建文件, 以及创建xlsx表格from openpyxl import Workbook, load_workbookimport os# 创建excel文件, 默认会有一个sheet命名的表def create_xlsx(_path, _name): path_file = os.path.join(_path, _name) # 创建一个空白工作簿 wb = Workbook() # 注意: 保存路径下含有相同文件会被覆盖, wb.save(path
2021-03-27 18:30:28
744
2
原创 python操作pdf文件
安装模块pip install pdfplumberpip install PyPDF2pip install pypwin32pdf 文件读取"""path: pdf的文件路径pdfplumber.open(path): 文件打开读取_pdf.pages: 获取pdf总页数_pdf.pages[i].extract_text() : 获取每页的pdf的内容"""def get_pdf_content(path): _pdf = pdfplumber.open(path)
2021-03-22 11:28:18
613
原创 python 的生成器,迭代器,递归, 闭包
生成器"""生成器:generatoryield关键字的函数即为生成器,生成器的返回值为迭代器类型。生成器的优点: 一次返回一个结果,延迟计算。这对于大数据量处理,是个非常有用的优势。占用内存量是工程师必须考虑的一个问题。 提高代码可读性。使用生成器,代码行数更少。 生成器有两种表示形式: 生成器函数:外表看上去像是一个函数,但是没有用return语句一次性的返回整个结果对象列表,使用yield语句一次返回一个结果。 生成器推导式:类似列表推导式,将方
2021-03-02 10:42:31
96
原创 python深浅拷贝
深浅拷贝总结copy , deepcopy 拷贝不可以变类型的数据, 只是引用了该数据的内存地址, 没有创建新的内存地址不可变类型: int , str, bool, tuple可变类型: list, dict, setcopy, deepcopy: 如果拷贝可变类型数据: 如果元素都是不可变类型, 深浅拷贝, 都会生成一个新的地址, 里面元素的内存地址不变copy, deepcopy: 如果拷贝不可变类型数据: 深浅拷贝, 首先 都会生成一个新的地址, 如果里面的元素是不可变数据, 深拷贝不会
2021-03-01 09:23:34
130
1
原创 linux 安装mysql -5.7
一.下载mysql-5.7版本的安装包 1. 官方下载安装包: https://downloads.mysql.com/archives/community/ 2本次我安装的是 下载安装包 mysql-5.7.20-linux-glibc2.l2-x86.tar.gz 3. 本次安装路径我是选择默认的路径: /usr/local二.解压缩安装包并移动指定到安装目录1. 解压安装包: tar zxvf mysql-5.7.20-linux-glibc2.l2-x86.tar.gz2. mv m
2020-09-17 11:30:20
76
原创 python 面向对象
面向对象的三大特性1. 封装 把很多数据封装到⼀个对象中. 把固定功能的代码封装到⼀个代码块,(例如: 写一个函数, 一个类) 打包成模块. 这都属于封装的思想.2.继承 ⼦类可以⾃动拥有⽗类中除了私有属性外的其他所有内容, 但必须先要声明父类, 子类才能继承. 3.多态 同一个变量, 可以有多种形态,例如: 定义一个变量: a = 2, a也可以定义成字符串: a = 'hello word'多继承,以及执行顺序 在新式类中查找父类方法或属性,查找方式为广度优先, 其中类的
2020-08-23 09:09:09
108
原创 python 进程, 线程, 协程
进程进程是一个执行中的程序。每个进程都拥有自己的地址空间、内存、数据栈以及其他用于跟踪执行的辅助数据。在单核CPU系统中的多进程,内存中可以有许多程序,但在给定一个时刻只有一个程序在运行;就是说,可能这一秒在运行进程A,下一秒在运行进程B,虽然两者都在内存中,都没有真正同时运行。进程是系统资源分配的最小单位;进程有自己独立的内存空间(数据不共享,开销大)一. 利用Process实现多进程from multiprocessing import Process, Pooldef do_work():
2020-08-10 19:57:02
197
原创 python日志 logging模块
logging相关知识日志级别使用场景DEBUG详细信息,一般只在调试问题时使用INFO证明事情按预期工作WARNING某些没有预料到的时间提示,或者在将来可能会出现的问题提示ERROR由于更严重的问题,软件已不能执行一些功能了CRITICAL严重错误,表明软件已不能继续运行了注释:严重级别 : CRITICAL>ERROR>WARNING>INFO>DEBUG默认等级: WARNING设置输出日志级别: 如果日志等
2020-08-10 15:57:03
100
原创 python查找算法
数据查找1.顺序查找: 顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于给定值的结点,表示查找失败。 def line_search(data, num): for index, val in enumerate(data): if val == num: return index return None2.二分法查找:
2020-07-18 22:20:01
169
原创 python利用matplotlib绘制图形
绘制折线图from matplotlib import pyplot as pltimport pandas as pdimport numpy as np#防止中文图例, 标题, 横坐标,等出现中文乱码的mpl.rcParams['font.sans-serif'] = ['FangSong']x = np.arange(0, 1, 0.05)y = np.sin(2*np.pi*x)#lable: 设置图例, 必须要添加:plt.legend('best')plt.plot(x, y,
2020-07-10 16:01:39
1320
原创 python高阶函数
sorted排序sorted: 对可迭代的对象进行排序操作参数:iterable: 可迭代对象key: 指定根据某个元素进行排序reverse: 排序规则,reverse = True 降序 , reverse = False 升序(默认sort 是针对 list 进行排序1.对列表进行排序: from random import randint _list = [randint(-5, 20) for i in range(20)] sort_list = sorted(_
2020-06-27 22:43:05
156
原创 flask-SQLAlchemy基本操作
查询1.查询数据表user所有数据 data_list = User.query.all()2. 查询数据表user数据表中得数据总数 count = User.query.count()3. 查询数据表user得第一条数据 data = User.query.first()4. 用于查询简单的列名 data = User.query.filter_by(name='xxy').all()条件查询1.根据某个字段进行查询 data = User.query.filter(User.n
2020-06-24 16:21:57
341
原创 Mysql 基础知识总结
命令行操作1.链接mysql: mysql -uroot -p123456 ; 注释: -u后跟是用户名, -p密码2. 创建数据库: create database 库名字;3. 查询所有数据库: show databases;4. 进入某个数据库: use 库名字;5. 查看某个数据库中的表: show tables;创建数据表 1创建数据库 create database 库名字;2.创建数据表create table if not exists stu(id in
2020-06-15 16:37:25
385
原创 http.server创建一个简单的server服务
简单实现http服务try: from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServerexcept ImportError: from http.server import BaseHTTPRequestHandler, HTTPServer from urllib.parse import urlpar...
2020-05-06 15:39:03
428
原创 获取字符串中的中文字符, 以及字母,或数字
1.获取字符串中的中文 a = "hello 404 word 世界 99 胜利" data_list = [i for i in a.split(' ') if i>= '\u4e00' and i<= '\u9fff' ] 输出结果是: ['世界', '胜利']2. 获取字符产中的数字 data = [i for i in a.split...
2020-03-12 16:19:15
807
原创 sqlite3查询数据返回是字典格式的
需要自己配置一个函数#check_same_thread: 多线程操作数据库# dict_factory:可以使sqlite3返回的数据格式是字典形式import sqlite3conn = sqlite3.connect('../user_mess.db', check_same_thread=False)def dict_factory(cursor, row): d = {...
2020-03-03 14:14:56
1180
翻译 flask 实现文件的上传
实现代码如下:# -*- coding: utf-8 -*-import osfrom flask import flash, request, redirect, url_for, Flask, send_from_directory, render_templatefrom werkzeug.utils import secure_filenamefrom templates im...
2020-03-02 15:08:43
283
原创 numpy学习
1. numpy数组的创建1.创建数组通过列表, 元组 import numpy as np #通过列表创建数组 arr = array([[1, 2, 3], [4, 5, 6]]) #通过元组创建数组 arr = np.array(((1, 2, 3), (4, 5, 6))) #通过arange:创建数组 arr = np.arange(1,7).reshape...
2020-01-09 16:50:37
127
原创 linux + selenium 请求url
需要安装的模块 1. 安装selenium: pip install selenium 2. 安装Google Chrome: yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm 3.安装必要的库:...
2019-12-19 16:28:31
237
原创 python装饰器
不带参数的装饰器import time#装饰器def timer(func): def wrapper(): start_time = time.time() total = func() end_time = time.time() print('函数运行耗时: {}'.format((end_time - sta...
2019-11-21 16:14:35
103
原创 python 操作elasticsearch 基本用法
创建es索引库,相当于创建一个表 from elasticsearch import Elasticsearch from elasticsearch.helpers import bulk es = Elasticsearch(hosts='localhost:9200') ...
2019-07-23 16:18:15
774
翻译 numpy 常用操作
1.创建数组的方法 1.创建一个2行3列的数组: np.array([[1,2,3],[5,6,7]]) 2.指定创建一个几行几列的数组reshape: np.array([8,1,134,4]).reshape(2,2) 3.创建一个全0数组(参数 1:shape,数组的形状;参数 2:dty...
2019-07-17 16:22:12
666
翻译 BeautifulSoup4基本用法
html格式化:"<html> <head> <title> Page title </title> </head> <body> <p align="center" id="firstpara"> This is paragraph <b> ...
2019-06-18 16:19:04
347
原创 python 查找字符串中连续不重复且长度最长的字符串
1.随便输入一些字符串。 list2 = []def replace_str(str_len): for i in range(len(str_len)): temp = str_len[i] for j in range(i+1, len(str_len)): if str_len[j] not in temp: ...
2019-06-04 09:48:46
3189
2
翻译 python 结合钉钉机器人发送钉钉消息
1.发送文本消息:def send_action_card(self, title, text): post_data = { "msgtype": "markdown", "markdown": {"title": title, "text": text, }, ...
2019-05-30 09:44:54
2719
翻译 django实现文件上传的功能
1.settings:配置上传文见保存路径,文件上传成功会,保存到这个文件夹下:MEDIA_ROOT=os.path.join(BASE_DIR,"static")2.views.py 中实现文件接收和保存:from django.conf import settingsfrom django.http import HttpResponse, HttpResponseRedi...
2019-05-29 17:39:25
1003
原创 python 生成带有噪点的验证码
# -*- coding:utf-8 -*-from PIL import Image, ImageDraw, ImageFontimport random#创建一个图片bgcolor = (random.randrange(20, 100),random.randrange(50, 200), random.randrange(20, 255))img = Image.new(mod...
2019-05-24 10:18:48
579
翻译 django常用模块
1.views常用模块render :返回一个页面,或返回一个页面和数据 ,引入方式:from django .shortcuts import render redirect: url跳转,重定向,引入方式:from django.shortcuts import redirect HttpResponse:可以返回数据或调用模板,引入方式 from django.hhtp ...
2019-05-19 18:03:28
387
原创 python 图片添加文字
PIL 可以实现在图片的指定位置添加一些文字。简单的添加一两个字在图片中,是非常简单实现,如果你想在图片中写入长篇大论的话,这个是有点复杂,你需要先确定每个对方写那段文字,然后在对我文字进行分段处理,然后一段一段的分别写入图片中,这种方法,可以避免稍微添加字,造成文字乱。下面分别介绍简单插入文字,和分段插入文字的方法。 一是简单插入文字: # ...
2019-01-21 15:17:15
1740
原创 chinesecalendar 模块判断节假日
chinesecalendar是python 中判断date类型的日期是工作日,还是节假日,比较准确地模块,先安装该模块 pip install chinesecalendar,导入模块的用法如下: import datetime from chinese_calendar import is_workday da = datetime.date(2019,...
2019-01-03 17:09:50
12241
原创 python 内存地址
Python内存分配: 1.对于int,str,float类型的只要值相同,其内存地址是相同的 例如: a1 = 2.0 id(a1) = 141300656 b = 2.0 id(b) = 141300656 ...
2018-12-26 15:58:07
1200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人