![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
zsj.python之路
总结是学习 最好的回顾方式
展开
-
对文件的操作集合
批量修改文件后缀#!/bin/bashcd '/home/dccmc/Tool_Management_Platform/auto_check/zsj/shell/data'pwdread -p "input the old file:" oldread -p "input the new file:" new[ -z ${old} ] || [ -z ${new} ] && echo "error" && exit #判断用户是否有输入,如果没有输入打印原创 2020-05-21 17:16:02 · 234 阅读 · 0 评论 -
用python将excle数据导入数据库中
import pymysqlimport xlrdimport sys ''' 连接数据库 args:db_name(数据库名称) returns:db ''' def mysql_link(de_name): try: db = pymysql.connect(host="127.0.0.1", user="xxx", passwd="xxx",转载 2020-05-26 18:28:42 · 501 阅读 · 0 评论 -
python实现淘宝自动登录秒杀功能
最近准点抢东西 ,抢不到有点烦,写了一个准点淘宝强东西的小程序。亲测,已经抢到。from selenium import webdriverimport datetimeimport time# 打开Chrome浏览器from selenium.webdriver import ActionChainsbrowser = webdriver.Chrome()browser.maximize_window()def login(): # 打开淘宝首页,通过扫码登录 bro原创 2020-05-26 17:21:02 · 2887 阅读 · 5 评论 -
用pymysql来获取数据
# -*-coding:utf-8-*-import pymysqlimport pandas as pdimport timedef execude_sql(sql): # 创建连接 try: db = pymysql.connect( host='10.100.155.19', port=3308, ...原创 2020-03-26 15:15:56 · 2808 阅读 · 0 评论 -
md5 加密 加盐 解析
我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码。加Salt可以一定程度上解决这一问题。所谓加Salt方法,就是加点“佐料”。其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列。而当用户登录时,系统为用户提供的代码撒上同样的“佐料”,然后散列,再比较散列...转载 2020-02-24 16:38:15 · 6938 阅读 · 1 评论 -
使用python将数据导出到表格中
def get_sec_exc(time): # 建立连接 conn=pymysql.connect( host="0.0.0.0", port=3308, user="root", passwd="password", db="mysql", charset="utf8" )...原创 2020-01-14 15:42:50 · 4699 阅读 · 0 评论 -
定时删除文件且添加进日志
#!/usr/bin/env python3# coding: utf-8import osimport timeimport datetimeimport loggingclass DeleteFile(object): def __init__(self,path): self.path = path def logger(self): ...原创 2020-01-08 18:31:27 · 172 阅读 · 0 评论 -
python-logging的用法
1、日志的打印级别日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,当然也可以自己定义日志级别。默认情况下,logging将日志打印到屏幕,日志级别为WARNING 及以上;import logginglogging.warning("This is a warning log")lo...原创 2020-01-07 00:15:16 · 268 阅读 · 0 评论 -
Kafka作为源数据进行数据流计算
#!/user/bin/env python3from __future__ import print_functionimport sysfrom pyspark import SparkContextfrom pyspark.streaming import StreamingContextfrom pyspark.streaming.kafka import KafkaUtils...原创 2019-12-22 14:55:21 · 378 阅读 · 0 评论 -
python中base64的encode()与decode()
1、encode() 用来将字符串转化为二级制格式的数据,decode() 将二进制的数据转化为字符串import base64host_id = [{'password': 'aUhDSCZXUiN4ITVn', 'host_ip': '0.0.0.0', 'username': 'zbc'}]print(host_id[0]["password"]) # a...原创 2019-11-22 17:13:33 · 2728 阅读 · 0 评论 -
常见os.path,os.join,os.environ 的解释及实例
1、os.path.abspath 与 os.path.diename的解释:import osimport sys#获取文件的的绝对路径print(os.path.abspath(__file__)) # /home/hadoop/python/os_test.py#获取脚本的目录print(os.path.dirname(os.path.abspath(__file__)))...原创 2019-11-21 16:09:40 · 1312 阅读 · 0 评论 -
2048游戏—源码
#!/usr/bin/env python3# -*- coding:utf-8 -*-# 作者:魏明泽# 参考网址: http://2048game.com/import randomimport math__mataclass__ = type # 使用新式类# 此类为地图模块封装的类class map2048(): # 重新设置游戏数据 de...原创 2018-08-20 15:46:29 · 10832 阅读 · 1 评论 -
基于flask框架设计用户的登录(前后端)
基于flask框架设计用户的登录(前后端)前端代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><bo原创 2018-11-05 19:41:54 · 8840 阅读 · 1 评论 -
在Django中对数据的增删改查
1.增加数据 1.Entry.objects.creat(属性=值,属性=值) 返回值: 插入成功:则返回创建好的实体对象 插入失败:则返回None 2.创建一个save的对象,并通过save()进行保存 obj = Entry(属性=值,属性=值) obj.属性 = 值 obj....原创 2018-11-19 21:14:27 · 923 阅读 · 0 评论 -
爬取斗鱼主播名字和热度
from selenium import webdriverfrom lxml import etreeimport csv# 创建浏览器对象,发请求driver = webdriver.Chrome()driver.get("https://www.douyu.com/directory/all")class DouyuSpider: def __init__(self...原创 2018-11-28 21:14:43 · 1177 阅读 · 0 评论 -
python面试题总结(1)
1、描述一下python语言 Python是一种编程语言,它有对象、模块、线程、异常处理和自动内存理。它简洁、简单、方便、容易扩展,有许多自带的数据结构,而且它开源。2、编程:写出你所了解的排序算法,并且使用python实现一种排序的方法有: 插入排序(直接插入排序、希尔排序), 交换排序(冒泡排序、快速排序), 选择排序(直接选择排序、堆排序), 归并排序,分配排序(箱排序、...原创 2018-11-26 19:48:42 · 238 阅读 · 0 评论 -
面向函数编程和面向对象编程的区别和使用
简述面向函数编程和面向对象编程的区别?什么时候使用面向函数编程?什么时候使用面向对象编程?函数式编程,顾名思义,这种编程是以函数思维做为核心,在这种思维的角度去思考问题。这种编程最重要的基础是λ演算,接受函数当作输入和输出。面向对象编程,这种编程是把问题看作由对象的属性与对象所进行的行为组成。基于对象的概念,以类作为对象的模板,把类和继承作为构造机制,以对象为中心,来思考并解决问题。...原创 2018-11-26 21:10:37 · 4210 阅读 · 0 评论 -
装饰器
装饰器 decorator什么是装饰器: 装饰器是一个函数,主要作用是用来包装另一个函数或类 包装的目的是在不改变原函数(或类名)的情况下改变被包装的对象的行为、函数装饰器是指装饰器是一个函数,传入的是一个函数,返回的是一个函数语法: def 装饰器函数名(参数): 语句块 return 函数对象 @装饰器函数名 ...原创 2018-12-06 21:29:37 · 285 阅读 · 0 评论 -
装饰器(未完,差远了)
1、定义:本质是函数,(装饰其他函数)就是为其他函数添加附件的功能,而不改变原函数的结构2、原则:(1)不能修改被装饰的函数的源代码(2)不能修改被装饰的函数的调用方式实现装饰器的知识储备:1、函数即“变量”2、高阶函数把一个函数名当做实参传递给另外一个函数返回值中包含函数名3、嵌套函数...原创 2019-09-02 18:14:23 · 87 阅读 · 0 评论 -
进程池简述
进程池技术 产生原因:如果有大量任务需要多进程完成,则可能需要频繁的创建删除进程,给计算机带来较多的资源消耗 原理:创建适当的进程放入进程池,用来处理待处理事件,处理完毕之后进程不销毁, 仍然在进程池中等待处理其他事件.进程的复用降低了资源的消耗 使用方法: 1.创建进程池,在池内放入适当的进程(4-8个) 2....原创 2018-10-17 19:51:28 · 723 阅读 · 0 评论 -
将列表合并为字典 与 用set去重后使表内元素顺序不变
将两个列表合并为字典names = ['lilu', 'lucy']likes = ['swimming', 'eating']a = dict(zip(names,likes))print(a)#{'lilu': 'swimming', 'lucy': 'eating'}用set去重后使表内元素顺序不变L = [1, 8, 4, 5, 2, 9, 3, 1, 4,...原创 2018-10-12 11:50:43 · 745 阅读 · 0 评论 -
python之迭代器(iterator)详解
迭代器 Iterator 什么是迭代器 迭代器是访问可迭代对象的工具 迭代器是指用iter(obj)函数返回的对象(实例) 迭代器是指用next(it)函数获取可迭代对象的数据 迭代器函数(iter和next) iter(iterable)从可迭代对象中返回一个迭代器,iterable必须是能提供一个迭代器的对...原创 2018-08-21 10:17:20 · 31923 阅读 · 6 评论 -
python之面向对象(解析)
什么是对象: 对象是指现实中的物体或实体什么是面向对象: 把一切看成对象(实体),用各种对象之间的关系来描述事物对象的特征: 1.对象有很多种属性(名词或者形容词) 年龄,姓名,性别 2.对象有很多行为(动作,动词) 学习,吃饭,睡觉,踢球,工作...什么是类: 拥有相同属性和行为的对象分为一组,即一个...原创 2018-08-23 18:53:53 · 1472 阅读 · 1 评论 -
python之封装,多态,函数的重写
封装 enclosure 封装是值隐藏类的实现细节,让使用者不关心这些细节 封装的目的是让使用者通过尽可能少的方法(或属性)操作对象 私有属性和方法 python类中,以双下划线("__")开头,不以双下划线结尾的标识符为私有成员,私有成员只能使用该类的方法来进行访问和修改 1.以__开头的属性为私有属性 ...原创 2018-08-27 20:44:25 · 1949 阅读 · 0 评论 -
写一个实现迭代器协议的类,让此类可以生成从b开始的n个素数
class Prime: def __init__(self,b,n): self.begin = b self.count = n def __repr__(): return 'Prime(%s,%s)'%(self.begin,self.count) def __iter__(self): '''创建一...原创 2018-08-27 20:41:47 · 299 阅读 · 0 评论 -
python 异常处理
异常 exception 什么是错误 错误是指由于逻辑或语法等导致一个程序无法正常执行的问题 什么是异常 异常是程序出错时标识的一种状态 当异常发生时,程序不会再向下执行,而转去调用此函数的地方待处理此错误并恢复为正常状态 作用: 用作信号,通知上层调用者有错误产生需要处理 ...原创 2018-08-20 15:38:19 · 355 阅读 · 2 评论 -
python之文件的读写操作
文件 file 什么是文件 文件是用于数据存储的单位 文件通常用来长期存储数据 文件中的数据是以字节(byte)为单位进行存储的 文件的操作流程: 1.打开文件 2.读/写文件 3.关闭文件 注:任何操作系统,一个应用程序同时打开文件的数量有最大数...原创 2018-08-22 17:32:52 · 979 阅读 · 0 评论 -
python之if、if-else、if-elif-else 语句
语句:statement 语句是由一些表达式组成的通常一条语句可以独立的执行来完成一部分事情并形成结果 一条语句建议写在一行内 多条语句写在一行内需要用(;)分开 示例: x = 10 y = 100 print(x + y) #写在一行内 x = 100;y = 100;print(x + y)显式换行: ...原创 2018-08-22 09:20:18 · 2234 阅读 · 0 评论 -
python的数值类型和运算符
数值类型 整型数 int 整型数是不带有小数部分的数据,包含自然数和负数 整型字面值的表示方式: 十进制表示 八进制方式表示(0o开头,后跟0-7) 0o27 23 十六进制表示(0x开头,后跟0-9,a-f) 0x17 23 0xff ...原创 2018-08-18 17:18:26 · 1828 阅读 · 0 评论 -
python之生成器Generator(详解)
生成器 Generator 什么是生成器 生成器是能够动态提供数据的对象,生成器对象也是可迭代对象(示例) 生成器有两种: 生成器函数 生成器表达式 生成器函数的定义: 含有yield语句的函数是生成器函数,此函数被调用将会返回一个生成器对象 yield翻译为产生(或生成) ...原创 2018-08-21 16:14:30 · 5826 阅读 · 0 评论 -
python之运算符重载
运算符重载: 什么是运算符重载 让自定义的类生成的对象(实例)能够使用运算符进行操作 作用: 让自定义的实例像内建对象一样进行运算符操作 让程序简洁易读 对自定义对象将运算符赋予新的规则 算术运算符的重载: 方法名 ...原创 2018-08-28 19:03:42 · 49903 阅读 · 5 评论 -
python之继承和派生
继承 inheritance 和 派生 derived 什么是继承 / 派生 1.继承是从已有的类中派生出新的类,新类具有原类的数据属性和行为,并能扩展新的行为 2.派生类就是从一个已有的类中衍生出新的类,在新类的基础上添加新的属性和行为 为什么继承 / 派生 继承的目的是延续旧类的功能 派生的目的是在旧类的基础上...原创 2018-08-24 19:22:32 · 2926 阅读 · 0 评论 -
求解质因数
刷面试题的时候突然刷到了一个求解质因数的题以下是求解方法:num = int(input("请输入一个整数:"))def get_num(num): L = [] m = 2 if num == m: print(num) else: while num >= m: k = num % m ...原创 2018-10-12 09:07:30 · 1320 阅读 · 0 评论 -
深拷贝和浅拷贝的区别
浅拷贝 shallow copy 浅拷贝是指在复制过程中,只复制一层变量,不会复制深层变量绑定额对象的复制过程。 示例:L = [3.1,3.2] L1 = [1,2,L] L2 = L1.copy() #浅拷贝 print(L1) #[1, 2, [3.1, 3.2]] print(L2) #[1, 2, [3....原创 2018-08-30 15:40:24 · 127 阅读 · 0 评论 -
python之集合(set)
集合 set 集合是可变的容器 集合内的数据对象是唯一的(不能重复多次的) 集合是无序的存储结构,集合内的数据没有先后关系 集合内的元素必须是不可变的对象 集合是可迭代对象 集合相当于只有键没有值的字典(键是集合的数据) 创建空的集合: set() 创建非空的集合的字面值: s = {1,2,3} ...原创 2018-09-01 17:16:15 · 1526 阅读 · 0 评论 -
python之字典(dict)
字典 dict 什么是字典: 1.字典是一种可变的容器,可以存储任意类型的数据 2.字典中的每个数据都是用"键"(key)进行索引的,而不是序列可以用索引下标进行索引 3.字典中的数据没有先后顺序关系,字典的存储是无序的 4.字典的数据以键-值对(key-value)的形式进行映射存储 5.字典的键不能重复,且...原创 2018-09-01 16:56:43 · 281 阅读 · 0 评论 -
python之元组(tuple)
元组 tuple 元组是不可改变的序列,像list一样,元组可以存放任意类型的元素 元组一旦创建将不可改变 元祖的表示方式: 用小括号()括起来,单个元素括起来后加逗号, 来区分单个对象还是元组 示例: (1,) 创建空元组的字面值表达式:t = () #()是创建一个空的元组对象...原创 2018-09-01 16:10:15 · 1441 阅读 · 0 评论 -
Python之列表学习笔记
列表list 列表的定义: 列表是一种容器 列表是一种可改变的序列 列表是由一系列特定元素组成的,元素与元素之间可能没有任何的关联关系,但他们之间有先后顺序关系 python3中的序列类型: 字符串 str 列表 list 元组 tu...原创 2018-08-25 11:48:53 · 656 阅读 · 0 评论 -
经典之杨辉三角问题和九九乘法表
杨辉三角:def get_yanghui_list(n): #n指行数: L = [] line =[1] for _ in range(n): L.append(line) line = get_next_line(line) return Ldef get_next_line(L): '''此函数将用一层列表...原创 2018-08-21 20:42:39 · 523 阅读 · 0 评论 -
用python计算100以内的素数
l = []for x in range(100): #判断如果x是素数,则打印,如果不是素数就跳过 if x <2: continue for i in range(2,x): if x % i == 0: break else: l.append(x)print(l) # [2...原创 2018-08-21 20:34:32 · 40508 阅读 · 4 评论