python
文章平均质量分 55
LanLanDeMing
python 小萌新 出来炸道了
展开
-
python paramiko 执行服务器脚本并拿到实时结果
python paramiko 执行服务器脚本并拿到实时结果import paramikocmd = '{0}/{1} linux 32'.format('/root/installer', 'make_client_installer.sh')print(cmd)try: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('192原创 2021-02-05 17:06:11 · 2418 阅读 · 3 评论 -
数据迁移时django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is a
完美解决AbstractUser 替换user Model,在migrate时报错django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on database 'de...原创 2020-02-22 19:16:52 · 604 阅读 · 0 评论 -
python总结思维导图-----------python容器
python总结 思维导图系列之 python 容器总结难免会有错误,大佬们发现错误提醒下我~有需要的可以留言邮箱, 我发给你们原创 2020-02-06 19:43:15 · 296 阅读 · 0 评论 -
python总结思维导图-----------python基础
python总结 思维导图系列之 python 基础难免会有错误,大佬们发现错误提醒下我~有需要的可以留言邮箱, 我发给你们原创 2020-02-06 17:12:04 · 254 阅读 · 0 评论 -
完美解决django 在迁移数据库的时候出现的1146错误
完美解决django 在迁移数据库的时候出现的这个错误 ------>django.db.utils.ProgrammingError: (1146, “Table ‘django_demo.tb_foods’ doesn’t exist”)今晚在迁移数据库的时候, 之前迁移了数据库, 迁移之后发现自己建的数据库有问题,然后就进行了删库的操作.在之后自己再次迁移数据的时候, 发现出现了...原创 2020-01-11 21:59:28 · 3799 阅读 · 2 评论 -
python HTTP协议 web服务器多任务版 , 面向对象版, 命令行参数指定 web 服务器端口, 接上篇
接上篇HTTP协议 HTTP请求报文说明 HTTP 响应报文说明 模仿浏览器请求web服务器 web 服务器web 服务器多任务版# web 服务器 = TCP 服务器 + HTTP 协议import socketimport threadingimport timedef client_request(new_client_socket, client_address): #...原创 2019-12-26 16:02:45 · 403 阅读 · 1 评论 -
python HTTP协议 HTTP请求报文说明 HTTP 响应报文说明 模仿浏览器请求web服务器 web 服务器
HTTP 协议1. HTTP 协议简介http 就是超文本传输协议作用: 浏览器和web 服务器之间传输网页资源的协议格式HTTP底层是基于 TCP 协议实现的, 导致浏览器和服务器之间传输资源之前需要建立连接HTTP 协议是明文传输, HTTPS 是基于 HTTP 协议的安全通信方式< 密钥交互, 加密, 解密>web服务器: 提供网页浏览器访问 web 服务器的通...原创 2019-12-25 23:49:54 · 1750 阅读 · 0 评论 -
python协程使用 协程的案例
协程概念:用户层面在一个线程中进行多任务切换的机制, 比线程更加轻量级 实现并发量更大协程的使用:使用第三方库: geventgevent 是一个基于协程的 python 网络库, 在遇到 IO 阻塞时, 程序会自动进行切换, 可以让我们用同步的放肆写异步 IO 代码协程的使用:from gevent import monkeymonkey.patch_all()# patch 替...原创 2019-12-24 22:44:59 · 446 阅读 · 0 评论 -
python TCP网络编程 实现简单的客服端和服务器端
TCP网络编程IP地址作用: 标识计算机网络中一个主机设备/系统(标识计算机网络通信过程中的手法双方地址)在同一个计算机网络 IP地址不能重复端口概念: 本质就是一个数字, 标识计算机系统系统中一个应用程序(服务)端口号: 数字 0~65535(2字节 = 16 bit = 2**16)如果一个程序没有设定端口号, 系统会随机为用户程序分配一个动态端口在linux 中查看占用某端...原创 2019-12-23 21:50:38 · 444 阅读 · 0 评论 -
python 字节和字符串的转换 解码和编码
s = "hello world"# 1. 字符串---编码 字节数据 = 字符串数据.encode(方案) ---> 字节b1 = s.encode()b2 = s.encode(encoding="utf-8") # 默认参数就是utf-8 一个参数对应 3 个字节b3 = s.encode(encoding="gbk") # 一个汉字对应2个字节# print(ty...原创 2019-12-23 20:12:34 · 721 阅读 · 0 评论 -
python中 GIL的有关问题,以及面试中可能会被问到的问题
GIL 产生的背景:在 Cpython 解释内部运行多个线程的时候, 每个线程都需要解释器内部申请相应的全局资源, 由于 C 语言本身比较底层造成Cpython 在管理所有全局资源的时候并不能应对所有线程同时的资源请求, 从而为了防止资源竞争而发生错误, 对所有线程申请全局资源增加了限制----全局解释器锁言外之意就是全局解释器就是为了锁定整个解释器内部的全局资源, 每个线程想要运行首先获取 ...原创 2019-12-21 23:00:11 · 241 阅读 · 0 评论 -
python 死锁 死锁的示例 with
死锁死锁: 死锁就是一直等待对方释放锁的情景死锁的结果会造成程序的停止响应, 不能再处理其他的任务了死锁的示例需求: 根据下标在列表中取值, 保证同一时刻只能有一个线程去取值import threadingimport time#创建互斥锁lock = threading.Lock()# 根据下标去取值, 保证同一时刻只有一个线程去取值def get_value(ind...原创 2019-12-21 21:52:19 · 664 阅读 · 0 评论 -
python 中互斥锁 死锁
互斥锁互斥锁: 对共享数据进行锁定, 保证同一时刻只能有一个线程去操作.互斥锁的注意点: 互斥锁是多个线程一起去抢, 抢到锁的线程先执行, 没有抢到锁的线程需要等待, 等互斥锁使用完释放后,其他等待的线程再去抢这个锁互斥锁的使用: threading 模块中定义了 Lock 变量, 这个变量本质上是一个函数, 通过调用这个函数可以获取一把互斥锁# 创建锁mutex = thread...原创 2019-12-21 20:23:21 · 232 阅读 · 0 评论 -
python线程 验证多线程的执行顺序 验证多线程是否共享全局变量 daemon线程
线程线程的介绍在python中, 想要实现多任务除了需要使用进程, 还可以使用线程来完成, 线程是实现大任务的另外一种方式.线程的概念线程是进程中执行代码的一个分支, 每个分支(线程) 要想工作执行代码需要cpu 进行调度, 也就是说线程是cpu调度的基本单位, 每个进程至少都有一个线程, 而这个线程就是我们通常说的主线程.线程类Thread 参数说明Thread(group,targ...原创 2019-12-20 23:57:02 · 247 阅读 · 0 评论 -
python 多进程 daemon 进程 验证多进程是否共享全局变量 验证多进程执行顺序
进程什么是进程进程就是一个正在运行的程序或者软件, 是操作系统进行资源分配的基本单位. 也就是说我们每启动一个进程, 操作系统都会给其分配一定的运行资源(内存资源), 来保证进程的运行注意点:一个程序运行后至少有一个进程, 一个进程默认有一个线程, 进程里边可以创建多个线程, 线程是依附在进程里边的, 没有进程就没有线程多进程的使用Process(group,target,name,ar...原创 2019-12-20 22:24:09 · 294 阅读 · 0 评论 -
python 文件操作大总结 对文件的增删改查,备份, 批量修改,创建和删除 文件的备份
python 的文件操作文件的作用永久的保存数据文件中的内存保存在硬盘中硬盘中的数据都是 0 和 1, 软件将 0 和 1的组合转换成我们认识的汉字绝对路径和相对路径绝对路径:是从目录开始的路径相对路径: 以代码文件为参考的位置<.当前位置…上一级目录>每个路径之间可以使用 / 隔开windows 下的注意点: \ 反斜杠是转义字符f = open(‘C:\...原创 2019-12-07 16:34:48 · 715 阅读 · 0 评论 -
python 学生管理系统 文件版
python 学生管理系统文件版昨天分享了低配版本的学生管理系统, 今天来个高级一丢丢的~思路就不多说了, 想看的在我昨天的博客有link, 就直接进入正题啦import osdef show_menu(): """显示菜单信息""" print("-------学生管理系统 V 1.0 -------") print('1. 添加学生') print('...原创 2019-12-06 21:36:39 · 4342 阅读 · 2 评论 -
python 学生管理系统 (简易的学生管理系统其他系统适用,改掉输出的字符串即可)
学生管理系统学生管理系统,以前每到期末,整天在网上找着xx管理系统, 今天终于轮到我自己写这个了, 哈哈哈哈哈哈~嗝先说一下系统的构思吧~~~~首先要用字典保存学生的信息系统要包含增删改查这4个基本功能在增删改查的时候应该先遍历一下系统中有没有该学生信息,有输出该生已经存在, 没有再做接下来的判断,期间要用到for循环和if…else判断语句具体步骤如下搭建框架完成每个部分的...原创 2019-12-06 00:17:11 · 1182 阅读 · 0 评论 -
python 集合
集合语法: 集合 set {数据1, 数据2, 数据3,…}集合中的元素必须是不可变类型(集合中如果包含元组, 元组中的数据也必须都是不可变的)集合是无序的(字典)集合中没有重复数据的(对列表去重)集合是可变类型# 1. 集合中不能包含可变类型# my_set = {1, 2, [3, 4]} #错误的写法, 集合中不能包含可变类型---->[3,4]my_set ...原创 2019-12-05 23:08:31 · 120 阅读 · 0 评论 -
python 函数的进阶
递归函数函数自己调用自己递归需要一个结束条件, 不能无限递归def func(num): """求 num 的阶乘""" # 递归的结束条件 if num == 1: return 1 result = num * func(num-1) return resultprint(func(2))print(func(3))print(func(4))# 控制台...原创 2019-12-05 22:51:03 · 192 阅读 · 0 评论 -
python 函数系列知识
函数的定义函数定义不会执行函数的代码, 在内存中保存函数的名字函数名需要满足标识符规则, 以数字, 字母和下划线组成, 不能以数字开头,不能和关键字重名# 定义函数 func()def func(): print('人生苦短') print("我用python")函数的调用函数调用, 才会执行函数中的代码函数必须先定义后使用函数调用的时候,才会执行, 会在内存中去找函数...原创 2019-12-04 16:43:51 · 202 阅读 · 0 评论 -
python 字典 字典的增删改查 遍历 有序字典
字典字典 dict 是由 键值对组成 {key: value, key: value, key, value}key 值需要是不可变类型, 可为(字符串, 数字(int, float), 元祖)value 值可以是任意类型在一个字典中, key值是唯一的一个键值对是一个元素my_dict = {'name': "isaac", 'age': 18, 1: 'hello'}prin...原创 2019-12-03 00:15:42 · 504 阅读 · 0 评论 -
python 元组, 元组应用
定义元组可以存放不同类型的数据元组中的数据不能被修改如果元组中有列表,可以修改列表中的数据语法: 变量 = (数据1, 数据2, 数据3, …)类型是 <class ‘tuple’>my_tuple = ('isaac', 18, 3.14, True)print(my_tuple)print(type(my_tuple))# 控制台输出('isaac', 18...原创 2019-12-01 15:30:57 · 287 阅读 · 0 评论 -
列表的应用---给老师分配办公室
列表的应用—给老师分配办公室问题:一个学校有三个办公室,现在有8个老师等待工位的分配, 完成随机分配思路:应该先定义办公室(大列表嵌套小列表)定义老师列表for 循环遍历老师列表,产生随机数[办公室的下标] 办公室列表将老师的名字添加进来(append)# 导入产生随机数的包import random# 定义办公室offices = [[], [], []]# 定义老师...原创 2019-12-01 14:18:55 · 842 阅读 · 0 评论 -
python 列表 的相关操作(增删改查, 排序, 嵌套)
列表1.列表, 容器,可以存放多个数据,可以是不同类型2.语法: 变量名 = [数据1, 数据2, 数据3, …]3. 支持下标操作, 支持切片操作4. 列表中的数据(元素)是以逗号分隔的5. 定义空列表:my_list = list()my_list = []# 变量名 = [数据1, 数据2, 数据3, ...]my_list = ['qym', 18, 3.14, Tru...原创 2019-12-01 01:30:54 · 278 阅读 · 0 评论 -
python 插入 join
python 插入 joinjoin:将 mystr 插⼊到 str 中每个元素之间,构造出⼀个新的字符串语法: my_str.join(可迭代对象)可迭代对象中的内容都是字符串将my_str 分别放在可迭代对象两个元素中间,组成一个新的字符串可以将列表中的元素连接起来str1 = "python" # 字符串,可迭代对象my_str1 = "_*_".join(str1)...原创 2019-11-29 21:39:26 · 301 阅读 · 0 评论 -
python 字符串切割 maxsplit
python 字符串切割 maxsplitmy_str.split(str1, maxsplit)str1 可以不写,默认是空白字符(" " “\t” “\n”)将my_str 这个字符串按照str1 进行切割, maxsplit 割几次my_str = "hello world itcast and itcastcpp"my_str1 = my_str.split(" ")pri...原创 2019-11-29 21:37:01 · 6221 阅读 · 0 评论 -
python 字符串的替换 replace
python 字符串的替换 replace语法: my_str:replace(old_str, new_str, count)count: 可以不写,默认替换所有将旧的字符串替换成新的字符串, 默认替换全换全部, 不会修改原来的字符串, 得到一个新的字符串my_str = "hello world itcast and itcastcpp"my_str1 = my_str.rep...原创 2019-11-29 21:34:54 · 604 阅读 · 0 评论 -
python 字符串的查找操作 find index 统计某个字符串出现的次数 count
find语法: my_str:find(str1, start, end)str1: 要查找的字符串start: 从哪个下表开始找, 可以不写, 从头开始end: 查找到哪里结束, 可以不写, 查找到最后一个元素注意的点:在my_str 这个字符串中查找 str1 这个字符串,如果找到返回的是 str1的开始的下标, 如果没有找到,返回的是 - 1my_str = "hell...原创 2019-11-29 21:24:53 · 3209 阅读 · 0 评论 -
python 切片
切片什么是切片?切片是指对操作的对象截取其中一部分字符串, 列表, 元祖 都支持切片操作切片的语法: 变量[起始位置的下标: 结束位置的下标: 步长]切片需要注意的地方:切片不会改变原来的字符串, 会得到一个新的字符串步长可以不写,默认值为1起始位置可以不写, 默认值是0(前提步长为正数)默认位置可以不写,默认到最后一个元素步长是负数的话, 取值是从右向左取得my_s...原创 2019-11-29 20:51:37 · 450 阅读 · 0 评论 -
python 下标
下标下标是什么?下标就是一个数字,可以通过下标找到字符的值下标是一个整数,可以通过下标来访问字符串中的字符下标需要注意什么?下标是从0开始的下标支持负数, - 1是最后一个元素(字符)的下标异常:IndexError :string index out of range (出现这个异常,意为访问不存在的下标(下标越界))my_ str = "0123456789"# 我要...原创 2019-11-29 20:38:05 · 2541 阅读 · 0 评论 -
python利用if 判断制作简单的用户登录系统
制作用户登录系统:已知A用户注册的用户名为aaa,密码是123456。具体要求如下:登录时需要验证用户名、密码、验证码(固定验证码为qwer)。提示:系统先验证验证码是否正确,正确后再验证用户名和密码。print("验证码是:qwer")# 定义一个变量i, 变量i 中保存的值为axyzi = "qwer"# 定义一个变量j, 用来保存用户输入的验证码j = str(input(...原创 2019-11-27 22:03:43 · 2834 阅读 · 0 评论 -
python 格式化输出 占位符的使用
# 输出你的性别, 姓名, 年龄, 身高, 地址# 方式1 直接输出print("性别:男")print("姓名:qym")print("年龄:22")print("身高:173.5")print("地址:中国")# 方式2 使用占位符输出sex = "男"name = "qym"age = 22height = 173.5address = "中国"# ...原创 2019-11-26 20:27:00 · 1513 阅读 · 0 评论 -
python 变量相关
字符串# 定义变量# 定义一个 变量age, age 中存储的数据为 10 age = 10# 输出变量ageprint(age)# 多个变量的定义办法# 方法1age = 10; name = 20; address= "中国"# 方法2age = 10name = 20address = "中国"# 方法3age, name, address = 10 , 20...原创 2019-11-26 19:58:00 · 98 阅读 · 0 评论 -
python 缺省参数 不定长参数
python 缺省参数# 缺省参数# 1. 在定义函数的时候,给我们形参一个默认的数据,那这个形参就是缺省参数# 2. 调用的时候,给缺省参传递参数默认值,使用的是传递的值# 3. 在调用的时候,可以不传递数据值,那么使用的为默认值# def show_info(name="我家小丁永远",age= 18) print(name,age)# 如果不给缺省参数赋值,那么输出的值就...原创 2019-11-24 18:04:55 · 528 阅读 · 0 评论 -
python 文件的读写操作,追加打开文件
python 文件的读操作 ®# r 缺省参数,默认值是r# 1. 文件不存在的话,会报错# 2. 文件存在,会返回文件,文件指针放在文件开始的位置# (比如你第一次读了6个字符,第二次还想读6个字符,那么第二次读取内容的时候是从第7个字符开始的)# 3. 要读取的内容有中文的话,贼需要转换编码,不然会乱码f = open("a.txt'', "r", encoding="utf-8"...原创 2019-11-24 17:34:55 · 7353 阅读 · 1 评论 -
python 用代码创建10个文件(file-1,file-2 ,.......,file-9)
python 如何用代码创建10个文件(file-1,file-2 ,…,file-9)# 使用for循环# 此方法仅适用于有规律的文件名字# 创建1-9的数字for i in range(0,10):# 创建文件 f = open("file-%d" %i, "w")# 关闭文件 f.close()...原创 2019-11-24 17:02:31 · 1882 阅读 · 0 评论 -
python 将文件a.txt的内容复制到b.txt中
将a.txt的内容复制到b.txt 中# 1. 用r方式打开a.txtf = open("a.txt","r")# 2. 读取a.txt的内容buf = f.read()# 3. 关闭a.txtf.close# 4. 用w或者a的方式打开b.txtf = open("b.txt","w")# 5. 将文件写入b.txt中f.write(b.txt)# 6. 关闭b.txtf...原创 2019-11-24 16:56:45 · 5967 阅读 · 2 评论 -
python 猜数字游戏(0-100) 循环版(循环5次停止)
python 猜数字游戏(0-100) 循环版(循环5次自动停止)# 导包 import randomk = 1i = random.randint(1,100)while k <= 5: # 让玩家猜数字 j = int(input("你猜是几啊!")) if i == j: print("你真的是太聪明了,数字是%d " % i) break elif i ...原创 2019-11-22 20:24:37 · 5140 阅读 · 2 评论 -
break 和continur
break 和continurbreak 终止循环,不管循环还有多少次,都不再执行了 continue 跳过本次循环,继续下一次循环, 本次循环中后续的代码不再执行,但回到循环的开始位置,继续循环注意:break 和 continue 只能用在循环中break 的使用# 吃苹果,总共有5个苹果,你吃了三个,吃饱了# while 循环版i = 1while i <= 5...原创 2019-11-22 20:12:40 · 238 阅读 · 0 评论