Python
小金子的夏天
不深思则不能造于道。不深思而得者,其得易失。
展开
-
python之时间、时间戳、时间加减
代码】python之时间、时间戳、时间加减。原创 2022-08-08 10:00:43 · 1957 阅读 · 0 评论 -
python中使用json.dumps 序列化时默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:
user_info = {"name" : {"a":23}, "gender" : "系统名", "age": 28}print(user_info,type(user_info))import jsonpython_to_json1 = json.dumps(user_info, ensure_ascii=False)#print(python_to_json1,type(python_to_json1))python_to_json2 = json.dumps(user_info)#.原创 2022-03-22 13:11:36 · 995 阅读 · 0 评论 -
python时间转换
1.生成环境多为utc时间 业务系统多用北京时间 ,需要指定时区,不然会员意想不到的的问题import datetime, pytz# 生成一个时区对象tzone = pytz.timezone("Canada/Eastern")# 如果不传时区对象,就默认当前用户当前所在时区的当前时间now_time = datetime.datetime.now(tzone).strftime("%Y-%m-%d %H:%M:%S") # 加拿大系统当前的时间## 想获取某个国家拥有的时区以.原创 2022-03-08 15:44:28 · 802 阅读 · 0 评论 -
python直接操作hive hdfs实例代码
from hdfs import InsecureClientlian = InsecureClient(url='http://master:9870') # 指定远程地址,和用户名print(lian.list('/')) # 列出根目录下的所有文件lian.write(hdfs_path='/niubi/shang2', overwrite=True, data='世界你好,我来了'.encode('utf-8')) # 在/niubi/目录下面创建名字为shang的文件,里面写入数据.原创 2022-01-25 14:03:29 · 1444 阅读 · 0 评论 -
计算字符串的信息熵(香农熵)
转自:计算字符串的信息熵(香农熵)_白玉杰的博客-CSDN博客_字符串的熵用来计算字符串变化后信息量的变化,如用以检测通信内容是否发生篡改(有可能存在字符串不同,熵相同的情况)。输入:输入任意一串字符样例输入:aaaabbcd输出:计算出字符串的信息熵样例输出:1.75信息熵的计算公式为:某一事件出现的概率乘以它的对数形式的结果的负数就是该时间的信息熵,把一个集合里面的所有的事件的信息熵都加起来就行了,就可以得到了总的信息熵了,明白了这一点就很容易做这道题目了,因为计算量很小,所以代码几原创 2022-01-18 10:54:17 · 1534 阅读 · 0 评论 -
python的smtplib发送带附件邮件
#!/usr/bin/python# -*- coding: UTF-8 -*-# @author:import smtplib,logging # 加载smtplib模块from email.mime.text import MIMETextfrom email.utils import formataddrfrom email.mime.multipart import MIMEMultipartfrom email.mime.application import MIMEApp.原创 2021-12-31 14:14:57 · 1441 阅读 · 0 评论 -
exchangelib实现带附件邮件发送
from exchangelib import Credentials,Account,DELEGATE,Message,FileAttachmentfrom exchangelib.protocol import BaseProtocol,NoVerifyHTTPAdapterimport requestsimport pandas as pdfrom openpyxl.writer.excel import save_workbook,save_virtual_workbookfrom r..原创 2021-12-31 09:25:55 · 636 阅读 · 0 评论 -
python操作kafka
生产者:import time,jsonfrom kafka import KafkaProducerimport randomproducer = KafkaProducer(bootstrap_servers=':9092,10.9:9092,10.180:9092', value_serializer=lambda m: json.dumps(m).encode('utf-8')) dlp_log =[{原创 2021-12-16 16:51:41 · 2014 阅读 · 0 评论 -
python实现/var/log/secure的结构化解析
Linux 的主机,都会受到各种攻击的威胁,常见的就是ssh暴力破解,以下是一个python脚本,对/var/log/secure登录日志中的ssh记录进行结构化解析,主要关注以下场景:1. #invalid user无效用户{"src_ip": ,"src_port": ,"src_host": ,"pid": ,"program": ,"type": ,"state": ,"username": ,...原创 2021-07-15 16:35:43 · 417 阅读 · 0 评论 -
AES的ECB加密的python实现
参考连接:https://www.cnblogs.com/yangyangming/p/14187968.html"""ECB没有偏移量"""from Crypto.Cipher import AESfrom binascii import b2a_hex, a2b_hexdef add_to_16(text): if len(text.encode('utf-8')) % 16: add = 16 - (len(text.encode('utf-8')) % 1原创 2021-06-30 10:46:52 · 451 阅读 · 0 评论 -
base64的编码与解码
import base64# 想将字符串转编码成base64,要先将字符串转换成二进制数据url = "hbSt~r`~a*+6~Q~x$*>~4x'jm.g+?"bytes_url = url.encode("utf-8")str_url = base64.b64encode(bytes_url) # 被编码的参数必须是二进制数据print(str_url)# 将base64解码成字符串import base64url = "aGJTdH5yYH5hKis2FX5Rfngk.原创 2021-06-30 10:44:53 · 522 阅读 · 0 评论 -
python的int str 8进制16进制互转
int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 将对象 x 转换为字符串 repr(x ) 将对象 x 转换为表达式字符串 eval(str )...原创 2021-06-30 08:44:16 · 1306 阅读 · 0 评论 -
fountainCode 喷泉码简介
喷泉码可以理解为通过构造数据冗余来避免数据丢失,也就是说将数据分成很多段,部分片段里面的信息量就能对原始数据的信息量进行很好的表达,接收方接收到部门数据片段后就能还原出完整的数据。 这种编码的发送端可以由k个原始分组生成任意数量的编码分组,接收端只要收到其中任意(1+ε)k个编码分组,即可通过译码以高概率成功恢复全部原始分组,精心设计的数字喷泉码不仅拥有很小的译码开销ε,而且具有简单的编译码方法和很小的编译码复杂度。 比如你遮住二维码的四分之一,用手机的相机...原创 2021-06-28 14:54:23 · 4274 阅读 · 0 评论 -
阿里云esc服务器上更新python版本
开通了个阿里云默认给装了python2.7,而我需要python3 ,于是卸载重装。1.linux下一切皆文件,相应删除掉python2 只要把相关文件清空就行了。 python --version #查看当前python版本 whereis python #查看有哪些python文件[root@test~]# rpm -qa|grep python|xar...转载 2021-06-28 14:41:18 · 587 阅读 · 0 评论 -
cron表达式详解
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: (1)Seconds Minutes Hours DayofMonth Month DayofWeek Year (2)Seconds Minutes Hours DayofMonth Month DayofWeek 一、结构 corn从左到右...原创 2019-07-03 18:15:23 · 307 阅读 · 0 评论 -
拉格朗日插值——基于scipy实现
python 实现from scipy.interpolate import lagrangex = [3, 6, 9]y = [10, 8, 4]lagrange(x,y)#poly1d([ -0.11111111, 0.33333333, 10. ])12345以上 lagrange(x,y) 的输出值 poly1d([−0.11111111,0.33...原创 2019-08-13 21:20:08 · 4375 阅读 · 4 评论 -
用户账号异常分析
购物、支付、游戏、社交软件帐号被盗的新闻屡见不鲜,危害之大可想而知!常用的网络帐号,主机帐号被盗可能会造成信息泄露,资金被转走,或者被作为跳板对重要资产进行一系列的攻击行为。这些损失由谁来负责,很多行业没有明确的认定和追查方法,因而最大的受害者往往是用户本身。一个企业有很多员工,每个人有很多类型的帐号。由于全体人员帐号总体数目较多,部分帐号被盗后,当造成明显的损失时,很容易被发现,可以采取...原创 2019-08-07 10:26:48 · 1935 阅读 · 3 评论 -
孤立森林(Isolation Forest)-python实例
两个实例:1.来自于 sklearn官网 2.自己构造数据,在第二个例子中发现,dbscan认为的的异常包含在itree认为异常中,也就是说itree,会给出一个异常的排序,需要看到这个顺序(后面再做)例子1:import numpy as npimport matplotlib.pyplot as pltfrom sklearn.ensemble import IsolationFor...原创 2019-07-24 16:57:48 · 8024 阅读 · 0 评论 -
python函数重载/函数通过接受的参数不同执行不同功能
#python 的函数重载功能不太好用,通过判断传入参数的不同执行不同功能pa = { "params":{ "name":"wangyoujin294", "age": 18 }, "params2":{ "name":"wan...原创 2019-07-29 13:58:31 · 1417 阅读 · 0 评论 -
python 的json与词典格式互换
python中json文件处理涉及的四个函数json.dumps()和json.loads()、json.dump()和json.load()的区分1、json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps(...原创 2019-07-18 09:25:52 · 259 阅读 · 0 评论 -
python中yield的用法详解——最简单,最清晰的解释
参考自:https://blog.csdn.net/mieleizhi0522/article/details/82142856先上一个例子:def countdown(n): print("start...") while n > 0: yield n n -=1 returnc = countdown(10) #c...原创 2019-08-12 14:28:42 · 343 阅读 · 1 评论 -
简单Flask实例
from flask import Flask, requestapp = Flask(__name__)@app.route('/hello',methods=['POST','GET'])def Hello(): if request.method == 'GET': return "hello by get" if request.method ==...原创 2019-08-27 15:16:11 · 526 阅读 · 0 评论 -
python后端实现rsa传输数据加密
后台python实现RSA非对称加密先熟悉使用 在后台使用RSA实现秘钥生产,加密,解密; # -*- encoding:utf-8 -*-import base64from Crypto import Randomfrom Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5from Crypto.PublicKey ...原创 2019-09-15 16:12:24 · 1039 阅读 · 0 评论 -
python log 归一整理
import loggingfrom logging.handlers import TimedRotatingFileHandlerdef getLoggingObject(): logger = logging.getLogger('apscheduler.executors.default') logger.setLevel(level=logging.INFO) ...原创 2019-09-18 16:27:00 · 390 阅读 · 0 评论 -
python两种生成md5的方法
别人的话:其实生活很美好,只是你想的太多了。没有,不会,有差距很正常,因为我不会;不会就要虚心学习,而不能抱着不会是因为我没学,学了一定会的态度。一. 使用md5包import md5src = 'this is a md5 test.' m1 = md5.new() m1.update(src) print m1.hexdigest()二. 使用hashl...原创 2019-09-23 22:17:29 · 1152 阅读 · 0 评论 -
Python中密码加密存储
# 导入密码加密模块import hashlib# 1.创建一个hash对象h = hashlib.sha256()# 2.填充要加密的数据passwordstr = '123456'h.update(bytes(passwordstr, encoding='utf-8'))# 3.获取加密结果pawd_result = h.hexdigest()...原创 2019-09-25 15:14:28 · 1555 阅读 · 0 评论 -
response.text 和response.content的区别
response.text类型:str解码类型:根据HTTP头部对响应的编码做出有根据的推测,推测的文本编码如何修改编码方式:response.encoding="gbk"response.content类型:bytes解码类型:没有指定如何修改编码方式:response.content.decode("utf8")def testfunc(url):...原创 2019-09-28 12:17:17 · 1132 阅读 · 0 评论 -
python 实现文件下载-服务器端测试代码
from flask import Flask, send_from_directoryimport os,jsonapp = Flask(__name__)@app.route("/download", methods=['POST','GET'])def downloadfile(): basepath = os.path.abspath(os.getcwd()) # 当...原创 2019-10-08 20:38:54 · 396 阅读 · 0 评论 -
python 列表推导式、lambda表达式、 ?表达式 sorted
Explicit is better than implicit(明了胜于晦涩),就是说那种方式更清晰就用哪一种方式,不要盲目的都使用表达式。1. 列表推导式:例一:multiples = [i for i in range(30) if i % 3 is 0]print(multiples)# Output: [0, 3, 6, 9, 12, 15, 18, 21, 24, 2...原创 2019-01-16 13:31:11 · 987 阅读 · 0 评论 -
Pandas索引和选择数据
在本章中,我们将讨论如何切割和丢弃日期,并获取Pandas中大对象的子集。Python和NumPy索引运算符"[]"和属性运算符"."。 可以在广泛的用例中快速轻松地访问Pandas数据结构。然而,由于要访问的数据类型不是预先知道的,所以直接使用标准运算符具有一些优化限制。对于生产环境的代码,我们建议利用本章介绍的优化Pandas数据访问方法。Pandas现在支持三种类型的多轴索引; 这三...原创 2019-06-28 10:13:17 · 316 阅读 · 0 评论 -
Pandas聚合
当有了滚动,扩展和ewm对象创建了以后,就有几种方法可以对数据执行聚合。DataFrame应用聚合让我们创建一个DataFrame并在其上应用聚合。import pandas as pdimport numpy as npdf = pd.DataFrame(np.random.randn(10, 4), index = pd.date_range('1/1/2019...原创 2019-07-03 13:42:03 · 195 阅读 · 0 评论 -
Pandas数据帧(DataFrame)
参考链接:原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/pandas/python_pandas_dataframe.htmlpandas.DataFramepandas中的DataFrame可以使用以下构造函数创建 -pandas.DataFrame( data, index, columns, dty...原创 2019-05-20 18:16:44 · 849 阅读 · 0 评论 -
pandas数据结构Series
Pandas处理以下三个数据结构系列(Series) 数据帧(DataFrame) 面板(Panel)特点:1. Pandas数据结构是值可变的(可以更改),除了系列都是大小可变的。系列是大小不变的; 2. 较高维数据结构是其较低维数据结构的容器。 例如,DataFrame是Series的容器,Panel是DataFrame的容器。Series...原创 2019-05-14 15:50:19 · 220 阅读 · 0 评论 -
开发语言特性对比 java python golang c# c++
java的跨平台+c#的ide和语法+python的库+c++语言的性能+go语言的协程python和java比运行速度比java慢,java强大于改进n次的强大jre,但python在很多领域能调用很多现成的开源库,在数据分析中有优势,pyhton的代码比java要简洁,容易入门和使用。在优化的计算库帮助下,如numpy numba,pandas,scikit-learn,python的...原创 2019-03-26 09:58:31 · 2140 阅读 · 0 评论 -
Python, CPython, Pypy, Jython 的比较
Python的解释器:1、由于Python是动态编译的语言,和C/C++、Java或者Kotlin等静态语言不同,它是在运行时一句一句代码地边编译边执行的,而Java是提前将高级语言编译成了JVM字节码,运行时直接通过JVM和机器打交道,所以进行密集计算时运行速度远高于动态编译语言。2、PyPy,它使用了JIT(即时编译)技术,混合了动态编译和静态编译的特性,仍然是一句一句编译源代码,但...原创 2019-03-26 09:45:58 · 2962 阅读 · 0 评论 -
python 时间戳、时间字符格式化、判断时间在某个时间段内
1. 获得当天时间的前一天、后一天(注意时间戳是以秒s为单位的,当将时间戳再转为格式化的时间字符串时,注意不能再用%f 毫秒)def testfunc(): today = date.today() print today,type(today) yesterday = date.today() + timedelta(days=-1) print yeste...原创 2019-03-08 10:58:24 · 4060 阅读 · 1 评论 -
celery原理及实例
简介:Celery组成结构任务队列是一种跨线程、跨机器工作的一种机制任务队列中包含任务的工作单元。有专门的工作进程持续不断的监视任务队列,并从中获得新的任务并处理Celery通过消息进行通信,通常使用一个叫broker(中间人)来协client(任务的发出者)和worker(任务的处理者)client发出消息到队列中,broker将队列中的信息派发给worker来处理一个Celer...原创 2019-03-06 18:46:48 · 1643 阅读 · 1 评论 -
python中 super 的用法
参考链接:https://www.cnblogs.com/python-nameless/p/6229506.htmlhttps://www.jb51.net/article/128571.htm 1. 通过super 调用父类方法class A(object): def __init__(self): self.n = 10 def minus(s...原创 2019-02-13 10:27:06 · 399 阅读 · 0 评论 -
Python是如何进行内存管理的
Python的内存管理是由私有heap空间管理的。所有的Python对象和数据结构都在一个私有heap中。程序员没有访问该heap的权限,只有解释器才能对它进行操作。为Python的heap空间分配内存是由Python的内存管理模块进行的,其核心API会提供一些访问该模块的方法供程序员使用。Python有自带的垃圾回收系统,它回收并释放没有被使用的内存,让它们能够被其他程序使用。 Pyt...原创 2019-01-16 10:27:24 · 252 阅读 · 0 评论 -
python线程 进程间通信
例1: 子进程创建from multiprocessing import Processimport osdef get_process(info): print info # *nix系统才有getpid及getppid方法 #print 'Process ID:', os.getpid() #print 'Parent process ID:', o...原创 2019-01-15 13:43:41 · 390 阅读 · 1 评论