Python
star.29
时不我待
展开
-
Python专栏目录
Python专栏目录1.Python基础语法原创 2020-07-27 16:27:16 · 248 阅读 · 0 评论 -
python连接Oracle传参
python连接oracle传参原创 2023-03-08 16:56:27 · 995 阅读 · 1 评论 -
Python连接Oracle
Python连接Oracle原创 2023-03-07 17:43:59 · 712 阅读 · 0 评论 -
Python爬虫实践
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫(General Purpose Web Crawler)、聚焦网络爬虫(Focused Web Crawler)、增量式网络爬虫(Incremental Web Crawler)、深层网络爬虫(Deep Web Crawler)。 实际的网络爬虫系统通常是几种爬虫技术相结合实现的。......原创 2022-06-21 16:29:08 · 683 阅读 · 0 评论 -
Python实现微信聊天功能
python实现定时发送微信消息在有python的环境中直接执行下面的脚本即可,如果缺少相应的包直接pip install 报名from numpy import *import itchatfrom threading import Timerdef get_userName(): itchat.auto_login(hotReload=True) friend=itchat.search_friends(name="微信备注") print(friend)原创 2021-04-09 18:05:42 · 2066 阅读 · 0 评论 -
Django运行新项目
Django运行新项目点击右上方的Edit Configurations点击+号,添加Django Server,编辑name和端口即可在Pycharm左上方点击File->Settings->Languages&Frameworks->Django点击Enable Django SupportDjango project root选择项目的主目录Settings选择项目的settings文件所在的位置Manage scripts选择manage.py所在的位置Fo原创 2020-11-10 17:19:50 · 364 阅读 · 0 评论 -
Python线程间函数
Python线程间函数variable = threading.local() # threading.local()保存一个全局变量# Python提供了 threading.local 类,将这个类实例化得到一个全局对象,# 但是不同的线程使用这个对象存储的数据其它线程不可见(本质上就是不同的线程使用这个对象时为其创建一个独立的字典)...原创 2020-10-26 16:53:23 · 227 阅读 · 0 评论 -
Django models.py实现过程
Django models.py实现过程先在settings.py配置数据库DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名', 'USER': 'root', 'PASSWORD': '密码', 'HOST': '127.0.0.1', 'PORT': '3306', 'O原创 2020-10-21 14:44:12 · 558 阅读 · 0 评论 -
Python RSA加密解密
Python RSA加密解密RSA是一种非对称加密算法非对称加密需要公钥(publickey)和私钥(privatekey)消息传递前需要先生成公钥和私钥,发送方将待发送消息用公钥加密,发送给接收方。接收方收到消息后,用私钥解密。在这个过程中,公钥负责加密,私钥负责解密,消息在传输过程中即使被截获,攻击者由于没有私钥,无法破解截获的消息。非对称加密算法的加解密速度低于对称加密算法,但是安全性更高。非对称加密算法:RSA、DSA、ECC等算法RSA加密解密过程:import rsa# rs原创 2020-10-20 20:25:21 · 18835 阅读 · 4 评论 -
Python os.sep的用法
Python os.sep的用法python是跨平台的。在 Windows 上,文件的路径分割符号是 \ ,在 Linux 上 是 /。os.sep 根据所处的平台,自动地采用相应的分割符号。原创 2020-10-20 16:51:15 · 562 阅读 · 1 评论 -
Django中的QuerySet
Django中的QuerySet在Django的Model中,QuerySet是一个很重要的概念。对数据库的所有查询以及更新交互都是通过QuerySet来完成的。Django从数据库中查询出来的结果一般是一个集合,这个集合叫做 QuerySet。QuerySet定义:class QuerySet(model=None, query=None, using=None)[source]QuerySet类具有两个公有属性用于内省:ordered:如果QuerySet是排好序的则为True,否则为Fa原创 2020-10-19 16:16:05 · 1748 阅读 · 0 评论 -
Python unittest的使用
Python unittest的使用import unittestclass Test_Math(unittest.TestCase): # 创建一个测试类,继承unittest.TestCase # 每执行一个用例,都会执行setup()和teardown()方法 def setUp(self): print("测试用例执行前的初始化操作") def tearDown(self): print("测试用例执行后的结束操作")原创 2020-09-29 17:26:58 · 145 阅读 · 0 评论 -
Python装饰器
Python装饰器装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。...原创 2020-09-25 14:39:49 · 107 阅读 · 0 评论 -
Django和Python版本对应表
Django和Python版本对应表原创 2020-09-24 15:06:31 · 2004 阅读 · 0 评论 -
Python异常截图
Python异常截图import osimport timeimport tracebackfrom datetime import datetimeimport pymysqlfrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriv原创 2020-08-01 18:08:42 · 458 阅读 · 0 评论 -
Python使用sys.excepthook统一处理异常,并将异常信息记录到日志中
Python使用sys.excepthook统一处理异常,并将异常信息记录到日志中import sysimport timeimport tracebackfrom datetime import datetimefrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support import expected_conditions as ECfrom原创 2020-08-01 15:46:11 · 3463 阅读 · 0 评论 -
Python使用logging记录日志
Python使用logging记录日志日志文件logger.py存放在文件夹logs下import logging # 引入logging模块import os.pathfrom datetime import datetime# 第一步,创建一个loggerlogger = logging.getLogger()logger.setLevel(logging.INFO) # Log等级总开关# 第二步,创建一个handler,用于写入日志文件rq = datetime.now()原创 2020-08-01 01:13:20 · 547 阅读 · 0 评论 -
Python显示等待、隐式等待和强制等待的区别
Python显示等待、隐式等待和强制等待的区别在实际使用selenium或者appium时,等待下个等待定位的元素出现,特别是web端加载的过程,都需要用到等待,而等待方式的设置是保证脚本稳定有效运行的一个非常重要的手段,在selenium中(appium通用)常用的等待分为显示等待WebDriverWait()、隐式等待implicitly_wait()、强制等待sleep()三种。WebDriverWait():显示等待,是针对于某个特定的元素设置的等待时间,在设置时间内,默认每隔一段时间检测一次当原创 2020-07-29 15:07:44 · 3910 阅读 · 1 评论 -
Python中json.dumps和json.loads的区别
Python中json.dumps和json.loads的区别json.dumps:将 Python 对象编码成 JSON 字符串json.loads:将已编码的 JSON 字符串解码为 Python 对象json.dumpsjson.dumps 用于将 Python 对象编码成 JSON 字符串。json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, in原创 2020-07-28 20:05:17 · 619 阅读 · 0 评论 -
Pycharm快捷键
Pycharm代码自动对齐快捷键Ctrl+Alt+L原创 2020-07-28 08:48:10 · 869 阅读 · 0 评论 -
unittest框架
unittest框架unittest是python内置的单元测试框架,具备编写用例、组织用例、执行用例、输出报告等自动化框架的条件。单元测试框架的优点一般来说不用单元测试框架也能编写单元测试,因为单元测试本身就是通过一段代码去验证另一段代码,所以不用单元测试框架也能编写单元测试。只是使用框架时有更多的优点:1.提供用例组织与执行当测试用例达到成百上千条时,就产生了扩展性与维护性等问题,此时就需要考虑用例的规范与组织问题了。单元测试框架便能很好的解决这个问题2.提供丰富的比较方法不论是功能测试还原创 2020-07-27 21:57:14 · 384 阅读 · 0 评论 -
Python命名空间和作用域
Python命名空间和作用域命名空间命名空间(Namespace)是从名称到对象的映射,大部分的命名空间都是通过 Python 字典来实现的。命名空间提供了在项目中避免名字冲突的一种方法。各个命名空间是独立的,没有任何关系的,所以一个命名空间中不能有重名,但不同的命名空间是可以重名而没有任何影响。我们举一个计算机系统中的例子,一个文件夹(目录)中可以包含多个文件夹,每个文件夹中不能有相同的文件名,但不同文件夹中的文件可以重名。一般有三种命名空间:内置名称(built-in names), P原创 2020-07-27 21:27:06 · 335 阅读 · 0 评论 -
Python面向对象
Python面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。面向对象技术简介类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。方法:类中定义的函数。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子原创 2020-07-27 21:21:17 · 247 阅读 · 0 评论 -
Python错误和异常
Python错误和异常Python 有两种错误很容易辨认:语法错误和异常。Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。语法错误Python 的语法错误或者称之为解析错,是初学者经常碰到的。异常即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。异常处理try/except异常捕捉可以使用 try/except 语句。try/except…elsetry/except 语句还有一原创 2020-07-27 20:58:09 · 425 阅读 · 0 评论 -
Python File(文件) 方法
Python File(文件) 方法open() 方法Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。open(file, mode='r')完整的语法格式为:open(file, mode='r', buffering=-1原创 2020-07-27 20:47:01 · 186 阅读 · 0 评论 -
Python输入和输出
Python输入和输出输出格式美化Python两种输出值的方式: 表达式语句和 print() 函数。第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。str(): 函数返回一个用户易读的表达形式。repr(): 产生一个解释器易读的表达形式。读取键盘输入Python提供了原创 2020-07-27 20:43:58 · 219 阅读 · 0 评论 -
Python数据结构
Python数据结构列表Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。以下是 Python 中列表的方法:将列表当做堆栈使用列表方法使得列表可以很方便的作为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用 append() 方法可以把一个元素添加到堆栈顶。用不指定索引的 pop() 方法可以把一个元素从堆栈顶释放出来。将列表当作队列使用也可以把列表当做队列用,只是在队列里第一加入的元素,原创 2020-07-27 20:36:43 · 146 阅读 · 0 评论 -
Python函数
Python函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。定义一个函数函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。return [表原创 2020-07-27 20:28:53 · 189 阅读 · 0 评论 -
Python迭代器与生成器
Python迭代器与生成器迭代器迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。字符串,列表或元组对象都可用于创建迭代器:>>> list=[1,2,3,4]>>> it = iter(list) # 创建迭代器对象>>> prin原创 2020-07-27 20:18:48 · 135 阅读 · 0 评论 -
Python循环语句
Python循环语句while 循环Python 中 while 语句的一般形式:#!/usr/bin/env python3 n = 100 sum = 0counter = 1while counter <= n: sum = sum + counter counter += 1 print("1 到 %d 之和为: %d" % (n,sum))输出结果:1 到 100 之和为: 5050无限循环我们可以通过设置条件表达式永远不为 false 来实原创 2020-07-27 19:50:28 · 188 阅读 · 0 评论 -
Python条件控制
Python条件控制if 语句if condition_1: statement_block_1elif condition_2: statement_block_2else: statement_block_3if 嵌套在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中。if 表达式1: 语句 if 表达式2: 语句 elif 表达式3: 语句 e原创 2020-07-27 19:37:37 · 110 阅读 · 0 评论 -
Python集合
Python集合集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。创建格式:parame = {value01,value02,...}或者set(value)集合内置方法完整列表...原创 2020-07-27 19:28:31 · 146 阅读 · 0 评论 -
Python字典
Python字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d = {key1 : value1, key2 : value2 }键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。一个简单的字典实例:dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258转载 2020-07-27 19:24:52 · 133 阅读 · 0 评论 -
Python元组
Python元组Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。>>>tup1 = ('Google', 'Runoob', 1997, 2000)>>> tup2 = (1, 2, 3, 4, 5 )>>> tup3 = "a", "b", "c", "d" # 不需要括号也可以>>> type(tup3)转载 2020-07-27 19:14:44 · 125 阅读 · 0 评论 -
Python列表
Python列表序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起原创 2020-07-27 18:15:47 · 135 阅读 · 0 评论 -
Python字符串
Python字符串字符串是 Python 中最常用的数据类型。我们可以使用引号( ’ 或 " )来创建字符串。创建字符串很简单,只要为变量分配一个值即可。var = 'Hello World!'Python 访问字符串中的值Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。Python 访问子字符串,可以使用方括号来截取字符串。Python 字符串更新可以截取字符串的一部分并与其他字段拼接Python转义字符在需要在字符中使用特殊字符时,python用反原创 2020-07-27 18:03:15 · 195 阅读 · 0 评论 -
Python数字(Number)
Python数字(Number)Python 数字数据类型用于存储数值。数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。Python 支持三种不同的数值类型:整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2原创 2020-07-27 17:43:17 · 269 阅读 · 0 评论 -
Python运算符
Python运算符Python语言支持以下类型的运算符:算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符运算符优先级Python算术运算符Python比较运算符Python赋值运算符Python位运算符Python逻辑运算符Python成员运算符Python身份运算符Python运算符优先级参考文章:Python运算符...原创 2020-07-27 17:20:22 · 115 阅读 · 0 评论 -
Python基本数据类型
Python基本数据类型Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:#!/usr/bin/python3counter = 1000 # 整型变量miles = 10000.0 # 浮点型变量name =原创 2020-07-27 16:44:29 · 281 阅读 · 0 评论 -
Python基础语法
Python基础语法编码默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:# -*- coding: cp-1252 -*-标识符第一个字符必须是字母表中字母或下划线 _ 。标识符的其他的部分由字母、数字和下划线组成。标识符对大小写敏感。在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。注释Python中单行注释以 # 开头#!/usr/bin/python3转载 2020-07-27 16:25:28 · 114 阅读 · 0 评论