![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python基础
Xue__Feng
正在西安电子科技大学攻读硕士研究生
展开
-
Python_sqlalchemy实现简单的多对多数据表的创建
1.建立数据表# Author : Xuefengimport sqlalchemyfrom sqlalchemy import create_engine,Column,Integer,String,DATE,Table,ForeignKeyfrom sqlalchemy.orm import sessionmaker,relationship,Mapperfrom sqlalchemy.ext.declarative import declarative_base# charset=ut原创 2020-07-07 11:25:43 · 390 阅读 · 0 评论 -
Python_sqlalchemy实现简单的一对多数据表创建
1.建立数据表# Author : Xuefengimport sqlalchemyfrom sqlalchemy import create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, String, DATE, func,ForeignKeyfrom sqlalchemy.orm import sessionmaker,relatio原创 2020-07-07 11:24:07 · 1177 阅读 · 0 评论 -
Python_sqlalchemy实现数据库的外键关联
# Author : Xuefeng# 外键关联import sqlalchemyfrom sqlalchemy import create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, String, DATE, func,ForeignKeyfrom sqlalchemy.orm import sessionmaker,relatio原创 2020-07-07 11:22:05 · 540 阅读 · 0 评论 -
Python_sqlalchemy模块对数据库的基本操作
1.初始sqlalchemy# Author : Xuefengimport sqlalchemyfrom sqlalchemy import create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, String, funcfrom sqlalchemy.orm import sessionmakerengine = create原创 2020-07-07 11:20:52 · 128 阅读 · 0 评论 -
Python_用pymysql与数据库创建连接
# Author : Xuefengimport pymysql# create the conn# 连接本机localhost,用户名为root,密码为123456,用到的数据库为mysqlconn = pymysql.connect(host="localhost", user="root", passwd="123456",db="mysql")# create the cursorcursor = conn.cursor()# execute the SQL, and retur原创 2020-07-07 11:16:11 · 598 阅读 · 0 评论 -
Python_MySQL数据库安装与创建自己的账户
这里只介绍MySQL在Windows上的安装第一步:下载对应系统版本的MySQL压缩包,并解压到自己想要安装的位置。第二步:打开解压文件,创建配置文件 my.ini。可以用记事本创建,操作步骤如下:创建TXT文件将文件改成配置文件1) 如果文件后面有后缀,直接将后缀更改为ini2) 如果文件后没有后缀,需要先设置显示后缀,然后在操作,设置过程如下:添加配置文件第三步:Win+R打开cmd终端,进行安装到这里MySQL的安装结束了第四步:创建..原创 2020-07-07 11:10:11 · 309 阅读 · 0 评论 -
Python_初始MySQL数据库
数据库简介:关系型数据库内部表格数据有关联性,redis是非关联型数据库命令后面都要加分号1.基本概念数据库:一些关联数据表的集合数据表:数据以矩阵形式存储的表格列行冗余:将相互关联的数据表需要频繁查取的信息在一张表上复制一份 优点:加快数据查询速度 缺点:增加内存压力和修改数据压力主键:没一个样本只有一个主键外键:用于关联列表之间相互关联索引:用于查找数据的标签组合键:多个列表组合构成索引2.基本命令 show databases; 查看所原创 2020-07-07 10:18:37 · 409 阅读 · 0 评论 -
Python_Redis实现数据共享
一、 Redis(中间商缓存)简单介绍mangodb 直接持久化memcache 不能持久化,只能存在内存单线程的,异步IO高并发需要另外安装redis软件或用Python安装redis模块redis默认有16个db 有16个select基本方法使用:select 2 创建新的工作线路keys * 查看所有已有关键字keyset name jim 存入key_word形式数据get name原创 2020-07-01 21:59:15 · 401 阅读 · 0 评论 -
Python_RabbitMQ实现简单的进程间通信
RabbitMQ 消息队列PYthreading Queue进程Queue 父进程与子进程,或同一父进程下的多个子进程进行交互缺点:两个不同Python文件不能通过上面两个Queue进行交互erlong基于这个语言创建的一种中间商win中需要先安装erlong才能使用rabbitmq_server start安装 Python module pip install pika or easy_install p原创 2020-07-01 21:53:00 · 691 阅读 · 0 评论 -
Python_关于IO操作的几点说明
io操作不占用CPU计算占用CPUPython的多线程不适合CPU密集操作型的任务,适合io操作密集型任务事件驱动与异步io通常我们写服务器处理模型的程序时,有以下几种模型:(1)每收到一个请求,创建一个新的进程,来处理该请求;(2)每收到一个请求,创建一个新的线程,来处理该请求;(3)每收到一个请求,放入一个事件列表,让主进程通过非阻塞io方式来处理该请求。上面的几种方式各有千秋:第一种方法,由于创建新的进程开销大,所以会导致服务器性能比较差,但实现比较简单第二种方法,由于涉及..原创 2020-06-26 19:06:56 · 533 阅读 · 0 评论 -
Python_协程
协程又称微线程,纤程。英文名Coroutine。协程是一种用户态的轻量级线程协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存在其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此,协程能够保存上一次调用时的状态(即所有局部状态的一个特定的组合)每次过程重入时,就相当于进入上一次调用的状态换种说法:进入上一次离开时所处逻辑流的位置。协程的好处:无需线程上下文切换的开销无需原子操作锁定及同步的开销方便切换控制流,简化编程模型高并发,高扩展性,低成本:一个C原创 2020-06-25 17:32:42 · 134 阅读 · 0 评论 -
Python_进程间通信
所谓进程间通信,说白了就是不同的进程共同对一个变量进行修改manage进程间通信# Author : Xuefengfrom multiprocessing import Manager, Processimport osdef f(d, l): ''' 定义修改变量的函数供创建进程使用 :param d: 共享的字典 :param l: 共享的列表 :return: ''' d[1] = "hello" d["2"] =原创 2020-06-25 17:26:27 · 119 阅读 · 0 评论 -
Python_进程初识
简单理解进程# Author : Xuefengimport multiprocessingimport time, threadingdef thread_r(): ''' 定义线程 :return: ''' # 打印线程号 print(threading.get_ident())def run(name): ''' 定义进程操作 :param name: 名字 :return: ''' .原创 2020-06-25 17:16:57 · 57 阅读 · 0 评论 -
Python_队列Queue
队列(queque)主要作用:解耦,是程序实现松耦合,提高处理效率queque is especially useful in thread programming when information must be exchangedsafety between multiple threads.Class queue.Queue(maxsize=0) # if one is login firstly, it will be logout firstly(FIFO)Class queue原创 2020-06-25 16:50:31 · 222 阅读 · 0 评论 -
Python_事件event
事件(event)An event is a simple synchronization objectthe event represents an internal flag, and threads can wait for the flagto be set, or set or clear the flags themselvesevent = threading.event()A client thread can wait for the flag to be setevent..原创 2020-06-25 16:30:50 · 170 阅读 · 0 评论 -
Python_递归锁
递归锁能够保证线程之间改变变量的独立性,多个线程共同修改一个变量时一定要加上递归锁# Author : Xuefeng# 导入必要的模块import threading,timedef run1(): ''' 定义第一个程序来创建一个修改参数的线程 :return: ''' print("Grab the first part data.") lock.acquire() global num num += 1 loc原创 2020-06-25 16:23:00 · 412 阅读 · 0 评论 -
Python_信号量控制同时运行几个线程
# Author : Xuefengimport threading, time# Semahpore = threading.Semaphore()def run(n): # 启动线程程序 Semahpore.acquire() time.sleep(1) print("------ Run the %d thread------\n" % n) Semahpore.release()if __name__ == "__main__": Semahp原创 2020-06-25 16:16:19 · 137 阅读 · 0 评论 -
Python_理解线程与进程
简单理解线程与进程进程与线程线程:多个指令的集合线程是操作系统能够调度的最小单位进程:qq要以一个整体的形式暴露给操作系统管理,里面包含各种资源调用,内存的管理,网络接口的调用对各种资源管理的集合 就可以称为 进程进程 要操作CPU, 必须要先创建一个线程进程与线程的区别:线程是执行的指令集,进程是资源的集合线程共享内存空间,进程的内存是独立的线程启动速度快,进程启动速度慢同一个进程的线程之间可以直接交流,两个进程想通信必须通过一个中间代理来实现新的线程容易创建,新的进程..原创 2020-05-26 18:57:33 · 95 阅读 · 0 评论 -
Python_基于paramiko模块实现SSHClient
简单的SSHClient客户端实现# Author : Xuefengimport paramiko# 创建SSH对象ssh = paramiko.SSHClient()# 允许链接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接服务器ssh.connect(hostname="localhost", port=6969, username="Jim", password=".原创 2020-05-26 18:46:18 · 2666 阅读 · 0 评论 -
python_利用socket实现ftp
服务器端的实现# Author : Xuefengimport socketserverimport json, osclass MyTCPHandler(socketserver.BaseRequestHandler): def upload(self, *args): '''接受客户端文件''' cmd_dic = args[0] filename = cmd_dic["filename"] filesize = .原创 2020-05-26 18:41:39 · 509 阅读 · 0 评论 -
python_动态导入模块importlib
# Author : Xuefengimport importlib# __import__("import_lib.metaclass") # 这是解释器内部自己用的# importlib.import_module("import_lib.metaclass") # 与上面这句效果不一样,官方建议用这个# modname = "test"# # from lib import test# b = __import__("lib.test")# b.test.原创 2020-05-26 18:36:33 · 140 阅读 · 0 评论 -
Python_利用socket进行指令执行与文件传输
socket执行指令# Author : Xuefeng# 服务器端import socketimport osserver = socket.socket()server.bind(("Localhost", 6969)) # 绑定要监听的端口server.listen() # 监听while True: print("开始工作") conn, addr = server.accept() .原创 2020-05-24 09:52:44 · 628 阅读 · 0 评论 -
Python_socket网络编程
socket简单介绍# Author : Xuefeng# ipconfig /all 查看IP地址与Mac(物理)地址import socket# socket family(地址簇)# socket.AF_UNIX # 本机两个进程之间进行通信# socket.AF_INET # IPV4# socket.AF_INET6 # IPV6# socket types(协议类型)# s.原创 2020-05-23 09:55:56 · 141 阅读 · 0 评论 -
Python_异常处理与自定义异常
1、异常处理:# Author : Xuefeng# Author : Xuefengdef bulk(self): print("%s is yelling..." % self.name)class Dog(object): def __init__(self, name): self.name = name def eat(self, food): print("%s is eatting %s...." %(self.name,原创 2020-05-11 23:18:44 · 270 阅读 · 0 评论 -
Python_基础知识之反射
# Author : Xuefengdef bulk(self): print("%s is yelling..." % self.name)class Dog(object): def __init__(self, name): self.name = name def eat(self, food): print("%s is eatting %s...." %(self.name, food))d = Dog("Jim")choi原创 2020-05-11 23:17:10 · 82 阅读 · 0 评论 -
Python_new方法详解
1、getitem等:# Author : XueFengclass Foo(object): def __init__(self): self.data = {} def __getitem__(self, key): print("__getitem__", key) self.data.get(key) def __setitem__(self, key, value): print("__setitem原创 2020-05-11 23:16:19 · 393 阅读 · 0 评论 -
Python_面向对象之静态方法、类方法与属性方法
1、静态方法只是名义上的归类管理, 实际上在静态方法访问不了类或实例中的任何属性2、类方法:类方法只能访问类变量,不能访问实例变量3、属性方法:把一个方法变成一个静态属性4、静态方法实例:# Author : XueFengclass Dog(object): ''' 这个类是描述狗的 ''' n = 333 def __init__(self, name): self.name = name self.__food原创 2020-05-11 23:11:36 · 147 阅读 · 0 评论 -
Python_面向对象之多态特性
多态:一个接口,多种实现实例:# Author : XueFengclass Animal(object): def __init__(self, name): self.name = name @staticmethod def animal_talk(obj): print(obj.talk())class Cat(Animal): def talk(self): return "Meow!"clas原创 2020-05-11 23:05:28 · 76 阅读 · 0 评论 -
Python_面向对象的继承特性
一、继承:一个类可以派生出子类,在这个父类里定义的属性、方法自动被子类继承1、py2, 经典类是按照深度优先来继承的,新式类是按照广度优先来继承的2、py3, 经典类与新式类都是按照广度优先进行继承的3、代码的复合使用:class B(object):def init(self):class A(object):def init(self):self.B = B()4、实例# # Author : XueFeng# # 经典类# # class People:# # 新式类原创 2020-05-11 23:03:36 · 106 阅读 · 0 评论 -
python_面向对象的各种实现对比介绍
一、面向过程VS面向对象1、面向过程:面向过程是一开始要着手解决一个大问题,然后分解成一个个小问题,直到小问题能够很好地解决,但是小问题之间可能存在依赖性,仅仅适合进行简单脚本的编写,不适合大项目的维护。2、面向对象:OOP利用类和对象创建各种模型实现对真实世界的描述。开发和维护更加高效,更容易看得懂。世间万物,皆可分类世间万物,皆属对象只要是对象,就肯定属于某种品类只要是对象,肯定有属性你是上帝地球山川、河流、大海、森林飞禽 飞、吃虫子、下蛋布谷鸟 唱歌原创 2020-05-11 23:00:11 · 98 阅读 · 0 评论 -
python_正则化re详细解释
# Author : XueFeng# 动态模糊匹配# 常用正则表达式符号# '.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行# '^' 匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r"^a", "\nabc\neee", flags = re.MULTILINE)# '$' 匹配字符结尾...原创 2020-04-19 15:47:59 · 647 阅读 · 0 评论 -
python_python中的加密算法MD5、SHA
# Author : XueFeng# hashlib模块# 用于加密相关操作,python3里代替了md5模块和sha模块# 主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法# SHA算法较MD5算法加密效果好import hashlib# MD5算法操作# 创建加密对象m = hashlib.md5()m.update(b'hello'...原创 2020-04-19 15:47:08 · 159 阅读 · 0 评论 -
python_configparser配置文件相关操作详解
# Author : XueFeng# pyymal可以进行配置文件的编写,很实用# ConfigParser可以用于生成和修改配置文件import configparserconfig = configparser.ConfigParser()# 创建配置文件,实质上就是创建字典config["DEFAULT"] = { 'ServerAliveInterval': '4...原创 2020-04-16 22:24:40 · 224 阅读 · 0 评论 -
python_用shelve进行类似json的文件操作
# Author : XueFengimport shelveimport datetimed = shelve.open('Shelve_test') # 打开一个文件info = {'age': 23, 'job': 'it'}name = ['tom', 'jim', 'mary']d['name'] = name # 持久化列表d['info'] = info # ...原创 2020-04-16 22:21:14 · 81 阅读 · 0 评论 -
python_用python对xml进行操作
首先,我先给出一段xml文档:<?xml version="1.0" encoding="UTF-8" standalone="no"?><data> <country name = "liechtenstein"> <rank updated = "yes">2</rank> <year...原创 2020-04-16 18:17:36 · 402 阅读 · 0 评论 -
python_shutil模块进行文件的复制与压缩
# Author : XueFengimport shutilimport timef = open('Time.txt', 'w')f.write(str(time.localtime()))f.close()f1 = open('Time.txt', 'r')f2 = open('Time_copy.txt', 'w')shutil.copyfileobj(f1, f2)...原创 2020-04-16 16:28:38 · 227 阅读 · 0 评论 -
python_sys与os实现你想要的系统功能
os模块的使用# # Author : XueFengimport os# 获取当前操作路径print(os.getcwd())# 改变操作路径print(os.chdir('c:\\Users'))print(os.getcwd())print(os.chdir(r"E:\python\code\Day_5\内置模块")) # 前面加r改用一个\print...原创 2020-04-13 22:07:19 · 79 阅读 · 0 评论 -
python_必不可少的随机工具(random)
首先,介绍一下随机模块random的各种方法:# Author : XueFengimport random# 取1以内的浮点数print(random.random())# 包含3print(random.randint(1, 3))# 不包含3print(random.randrange(1, 3))# 从字符串、列表、元组等取值print(random.choice('...原创 2020-04-12 18:14:18 · 199 阅读 · 0 评论 -
python_时间的加入,提高你的逼格
关于时间的模块主要分为以下两个:time模块datetime模块Author : XueFengimport time# time模块的变量print(time.timezone) # 获取与标准时间的距离# time模块的方法# 获取时间戳print(time.time())# 进行休眠time.sleep(2)# 将时间戳转换成元组形式表示(U...原创 2020-04-12 18:09:34 · 112 阅读 · 0 评论 -
python_细说一下模块与包的使用
1. 定义:模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件包:用来从逻辑上组织模块的,本质就是一个目录(必须有__init__.py文件)2. 导入方法import module_nameimport module1_name, module2 namefrom module_name import *(不建议使用...原创 2020-04-12 18:06:39 · 80 阅读 · 0 评论