Python
文章平均质量分 75
Fu_Lin_
为人朴实正直,有积极进取的心态,努力拼搏。性格沉稳内敛,做事细心踏实,个性坚韧,能吃苦耐劳,对工作有很强的责任感!有很强进取心和团队协作精神,学习能力、适应能力、承受压力能力较强,善于挑战自我。
展开
-
Python3 搭建UDP/TCP服务端
文章目录基于socketserver实现原生socket实现基于socketserver实现看网上有很多人写这个,有说到用socketserver 这个库来实现,但是代码完全不可用,不知道搞些什么,不晓得是不是版本太低还是自己瞎写凑数,然后网上大多都是复制来复制去的同一篇,所以我只能跑到官网去看教程例程,下面便记录一下,socketserver官方文档地址下面貼出官方TCP服务端的实现demo:import socketserverclass MyTCPHandler(socketserver.原创 2022-03-29 14:40:37 · 5206 阅读 · 0 评论 -
Python3调用C/C++动态库(使用SWIG)
参考文章:https://blog.csdn.net/whahu1989/article/details/95874756前言我之前写过一篇python3 ctypes模块使用方法与心得体会— int* ,char*等指针类型互转,如何转换对应的参数如,int*,char*等。今天发现如果使用C++的STL相关参数,无解啊~, 如下面提供的导出函数:int parse(std::vector<char> & dump, std::vector<unsigned char&g原创 2021-09-13 09:41:08 · 1025 阅读 · 0 评论 -
python3 根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
文章目录1.获得盘名os.path.splitdrive(path)2.获得路径与文件名os.path.split(path)3.获得路径名os.path.dirname(path)4.获得文件名os.path.basename(path)5.获得文件扩展名os.path.splitext(path)python3 根据完整路径获得盘名/路径名/文件名/文件扩展名的几种内置方法1.获得盘名os.path.splitdrive(path)import ospath="C:\\Users\\wuyanz原创 2021-06-22 11:20:34 · 808 阅读 · 4 评论 -
python3 程序定时器执行(可循环),最佳有效方案
昨天遇到一个需求,定时让程序运行,查询某内容,找到了python定时器的用法,特此记录!python 如何写一个定时器,循环定时做某一操作呢?from threading import Timerdef hello(): print "hello, world" t = Timer(10.0, hello) t.start()10秒后输出:hello, world重点研究 t = Timer(10.0, hello) 这句代码,python 提供了一个Timer 对象原创 2020-10-19 18:03:00 · 8004 阅读 · 4 评论 -
python3 ctypes模块使用方法与心得体会--- int* ,char*等指针类型互转
前言需求是python3 和 C写的dll打交道,调用dll中的方法,但是要传递参数,char还好一点,int搞了半天才搞定,所以想着还是记录下,以免后面忘记了正文我采用的是ctypes库所以首选导入from ctypes import *转char *先说下python 转换 Char *...原创 2020-08-11 09:18:14 · 8085 阅读 · 4 评论 -
python3-使用pykafka模块连接kafka
前言最近有个日志需求,因为太过频繁,且还要有通过日志的频率来启动报警机制,于是想到使用kafka来做,下面就主要记录一下pthon怎么使用kafaka,我这边使用的pyKafka,至于什么是kafka,kafka的原理以及自身的形成机制或搭建之类的,请自行百度一番即可,这边只记录代码先贴下 pykafka的官方API文档地址正文1、导入模块from pykafka import KafkaClient2、实例化client = KafkaClient(hosts="host:port")原创 2020-07-08 14:18:57 · 1799 阅读 · 0 评论 -
Linux安装python3.6
如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境,比如yum!!!!!不要动现有的python2环境!一、安装Python3.6安装依赖环境 # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-...原创 2018-09-12 14:03:16 · 514 阅读 · 0 评论 -
Python3 bytes与hex字符串之间相互转换
1、字符串转bytesstring to byteseg:'0123456789ABCDEF0123456789ABCDEF'b'0123456789ABCDEF0123456789ABCDEF'def stringTobytes(str): return bytes(str,encoding='utf8') 2、bytes转字符串bytes to stringeg:b'0123456789ABCDEF0123456789ABCDEF''0123456789ABCDE转载 2020-06-13 09:51:37 · 1041 阅读 · 0 评论 -
python 字符串补全填充固定长度(补0)的三种方法
'''原字符串左侧对齐, 右侧补零:'''str.ljust(width,'0') input: '789'.ljust(32,'0')output: '78900000000000000000000000000000'方法一:'''原字符串右侧对齐, 左侧补零:'''str.rjust(width,'0') input: '798'.rjust(32,'0')output: '00000000000000000000000000000798''''方法二:'''str.转载 2020-06-13 09:50:29 · 6164 阅读 · 1 评论 -
python读取csv文件出错:显示utf-8编码问题该怎么解决
UnicodeDecodeError when reading CSV file in Pandas with Python解决方法:之前试了用encoding = "utf-8"没有用,后面改为encoding = "ISO-8859-1"可以使用,在此mark一下。亲测可用参考:https://blog.csdn.net/yimixgg/article/details/80088809?utm_medium=distribute.pc_relevant.none-task-blog-BlogCo转载 2020-06-11 11:31:40 · 3027 阅读 · 0 评论 -
python3.4写好的.py文件如何打包成exe?
有人说py2exe太过陈旧缺少维护操作不便,推荐PyInstaller项目 www.pyinstaller.org可用一句命令打包:pyinstaller -F -w -i manage.ico app.py-F:打包为单文件-w:Windows程序,不显示命令行窗口-i:是程序图标,app.py是你要打包的py文件另外需要pywin32。安装方法:先跑pip install pywin32再跑pip install pyinstaller即可,多么简单。作者:知乎用户链接:https转载 2020-06-01 08:57:49 · 366 阅读 · 0 评论 -
Python3 最全字符串格式化方式大全
字符串的格式化方法分为两种,分别为占位符(%)和format方式。占位符方式在Python2.x中用的比较广泛,随着Python3.x的使用越来越广,format方式使用的更加广泛。一、 占位符(%)%d实例(Python3.0+):age = 29print("my age is %d" %age)#my age is 29%s实例(Python3.0+):name = "makes"print("my name is %s" %name)#my name is makes%转载 2020-05-13 11:12:43 · 817 阅读 · 0 评论 -
使用python的ctypes库实现内存的动态申请和释放
最近有个需求,python内部调用dll,传递的是char* ,还要动态扩展比较大的内存,这就涉及到了动态申请和释放了1、申请前内存占用情况2、申请内存from ctypes import *import time#在这里申请1G的内存,单位kmem = create_string_buffer(1024*1024*1024)time.sleep(10)#释放内存mem...原创 2020-04-15 15:58:57 · 3500 阅读 · 0 评论 -
python3 读取CSV文件报错utf-8' codec can't decode byte 0xa5 in position xxxx: invalid start byte
今天使用pyhton读取csv文件时,突然报错,措手不及,报错如下:主要错误是UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xa5 in position 5868: invalid start byte解决方案就是将读取的文件,编码转换一下 (默认变成了ANSI编码)使用 txt文本 打开,然后另存为utf-8格式。使用 ...原创 2020-01-16 17:23:05 · 3497 阅读 · 0 评论 -
py文件在pycharm编辑器运行正常,在命令行或双击报错找不到模块解决办法
先简单描述下问题,一个py文件会被视为一个模块,我在pycharm里写好程序,一个模块引用另一个模块,是可以正常运行的,如图。但是脱离pycharm直接双击或者在终端运行就会报找不到模块的错误。查阅了一些资料找到了解决办法。在主文件头加入这几行代码import sysimport oscurPath = os.path.abspath(os.path.dirname(__file__))...原创 2020-01-06 08:58:23 · 1097 阅读 · 0 评论 -
Python3遍历指定文件夹下所有文件及文件夹
采用os模块儿:import osdef get_filelist(dir): for home, dirs, files in os.walk(dir): print("#######dir list#######") for dir in dirs: print(dir) print("#######dir ...原创 2019-12-16 15:14:15 · 943 阅读 · 0 评论 -
python3:csv的读写
最近需要使用python读取大量的csv的操作,看了网上一篇写的挺不错,抄录一分1、csv的写python自带了csv模块提供用户对csv文件进行读写操作,要对csv文件进行写操作,首先要创建一个writer对象,参考help(csv.writer),情况如下调用writer对象的前提是:需要传入一个文件对象,然后才能在这个文件对象的基础上调用csv的写入方法writerow(写入一行)w...转载 2019-12-16 10:23:58 · 538 阅读 · 0 评论 -
Python3安装包,ERROR: Could not find a version that satisfies the requirement cv2 (from versions: none)
安装PIL提示:Could not find a version that satisfies the requirement PIL (from versions: )No matching distribution found for PIL如下图所示:3、错误原因:后来找了很多方法,发现我的电脑是64位的,而官网只提供32位的,就是自己去官网下载的其他PIL,也是32位的。4、...原创 2019-12-11 11:23:24 · 6040 阅读 · 0 评论 -
python使用requests时报错requests.exceptions.SSLError: HTTPSConnectionPool
报错如下:requests.exceptions.SSLError: HTTPSConnectionPool(host=‘www.baidu.com’, port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, u’[SSL: CERTIFICATE_VERIFY_FAILED] certificate...转载 2019-12-10 14:08:29 · 3448 阅读 · 0 评论 -
python3实现AES加密
前言这几天研究了一下 python 实现 AES 加密,有很多坑AES 加密的参数及其条件这个 AES 加密的主要坑就在于这些条件, 首先 aes 加密有一下几个参数秘钥:加密的时候用秘钥,解密的时候需要同样的秘钥才能解出来明文:需要加密的参数模式:aes 加密常用的有 ECB 和 CBC 模式(我只用了这两个模式,还有其他模式)iv 偏移量:这个参数在 ECB 模式下不需要,在 ...转载 2019-10-22 16:05:36 · 1091 阅读 · 0 评论 -
python中 bytes和hex字符串之间的相互转换
反复在几个环境上折腾码流的拼装解析和可读化打印,总是遇到hex字符串和bytes之间的转换,记录在这里吧。在Python2.7.x上(更老的环境真心折腾不起),hex字符串和bytes之间的转换是这样的:>>> a = 'aabbccddeeff'>>> a_bytes = a.decode('hex')>>> print(a_by...原创 2019-10-22 15:43:27 · 1240 阅读 · 0 评论 -
python tornado请求url参数包含+号,被解析为空格
问题现象:接口传参的时候,使用post方法提交数据,字段中包含+号被解析成空格,提交数据错误解决过程:查阅大量资料发现,http请求中包含+号,会被自动解析成空格,必须将加号替换成 ‘%2B’,则数据提交正常,如下测试所以还要自己将 + 号替换为 %2B 即可...原创 2019-10-22 09:49:55 · 1048 阅读 · 0 评论 -
python Tornado 文件上传服务
在web开发过程中,文件上传是经常用到的功能,比如上传附件,上传照片等。下面我们来介绍一下利用tornado 来实现简单的文件上传功能。Tornado 自身是不支持大文件上传的。对于接收到的文件,它会把文件内容保存在内存里,而不是像 PHP 那样保存在临时文件里。这样对于大文件,问题很明显了——内容不够。所以,Tornado 上传文件的大小限制在 100M 以下了。Tornado 官方建议使用 ...原创 2019-10-16 16:26:29 · 763 阅读 · 0 评论 -
解决服务器每次都要输入Enter PEM pass phrase
今天架设好Python的HTTPS云服务器, 发现每次连接都要Enter PEM pass phrase把服务器端的key里面的key剥离掉就好了openssl rsa -in server.key -out server.key.unsecure服务器改用这个server.key.unsecure就不会每次提示了...原创 2019-05-21 11:42:08 · 3466 阅读 · 0 评论 -
python3使用Tornado的搭建HTTPS服务
前言最近需要使用https搭建一个api 故简单记录一下搭建过程搭建http的服务简单快捷,这里就不做其他介绍有关https的原理 请参考图解HTTPS环境搭建(非必须)这个环境其实不是必须的,我再搭建的时候,并没有安装这个环境,因为我的linux服务器自带的有了,可能 是在安装其他软件的时候再带安装上去了,所以可以自我检测一下。一、 安装OpenSSLOpenSSL 介绍O...原创 2019-07-25 10:56:15 · 3378 阅读 · 3 评论 -
Postman中POST方式使用form-data和raw作为body发起请求理解(Python tornado服务器)
前言今天使用Python的tornado作为Web服务来测试自己写的服务接口,前几天用postman测试都好好的,直接Qt写程序请求就嗝屁了,解析不到参数,各种百度无解,终于看到一篇文章有写,于是记录一下:(其实是copy)后面我使用postman的raw请求也是嗝屁,之前默认用的是form-data方式请求的。下面请看分析:服务器环境:测试服务器选择的是Python的tornado作为W...原创 2019-05-10 17:54:44 · 7186 阅读 · 0 评论 -
python3 小技巧记录
python 小技巧记录我发现1、str转bool方法2、python判断文件和文件夹是否存在、创建文件夹3、文件操作4、python字典遍历的几种方法4.1、遍历key值4.2、遍历value值4.3、遍历字典项4.4、遍历字典健值我发现好多有用的小技巧其实都不难,但是每次用的时候,我都要去百度,主要是懒得去记,刚好突然有个想法,总结一些实用小技巧,归类整理,免得到处百度,浪费不必要的时间:...原创 2019-05-14 16:57:32 · 495 阅读 · 0 评论 -
Python 3.X 中定时器(Timer)的使用
前言每次要使用python的定时器的时候总是想着百度,干脆自己写一个记录一下:使用的是两种方式实现,我一般喜欢用方式二Timer实现,下面看实现方式:方式一:sched准确的说,它是一个调度(延时处理机制),每次想要定时执行某任务都必须写入一个调度。'''使用sched模块实现的timer,sched模块不是循环的,一次调度被执行后就Over了,如果想再执行,可以使用while循环的方...原创 2019-05-14 09:30:51 · 4828 阅读 · 0 评论 -
python3 打开文件失败的异常处理的问题
解决方法主要使用了locals()具体问题如下:#coding = utf-8try: f = open('一个不存在的文件.txt','r') print(f.read())except OSError as reason: print('出错啦!'+ str(reason))finally: f.close()''' 代码会产生这样的提示错误...原创 2018-12-06 16:48:57 · 1489 阅读 · 0 评论 -
Pycharm配置autopep8教程,让Python代码更符合pep8规范
文章目录前言一、何为pep8?二、Pycharm中配置pep82.1安装autopep82.2在Pycharm中安装autopep8配置三、使用四、参考前言今天使用pyCharm发现我的语法没有问题,但是很多函数和变量TMD都有波浪线,这让有强迫症的我看不下去了,于是达斯特市的百度了一番,发现其实就是PEP8的啥规范问题,解决问题的方案就两种:要么你屏蔽它要么你就屈服于它首先吧,我就...原创 2019-04-28 16:31:59 · 2076 阅读 · 0 评论 -
pycharm如何实现本地写代码,服务器运行
最近有个想法是在win上面编写并运行python代码,又不用将代码copy到服务端,可以直接编译运行环境为服务端,于是有了下面的攻略:无图形界面的代码编写python代码作为脚本语言,其实最好直接使用vim在字符界面里面直接编写,这才是正道,但是作初学者,其实直接在服务器上写代码是很不习惯的,所以我这边希望能写一篇帮助师弟师妹使用本地的ide编写代码,然后服务器的解释器运行代码。原理如何本...转载 2019-04-28 11:06:19 · 3099 阅读 · 0 评论 -
python str与bytes之间的转换
# bytes object b = b"example"# str object s = "example" # str to bytes sb = bytes(s, encoding = "utf8") # bytes to str bs = str(b, encoding = "utf8") # an alternative method # str...原创 2019-10-10 18:24:07 · 355 阅读 · 0 评论 -
python struct 结构体
import struct有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体.struct 模块中最重要的三个函数是 pack(), unpack(), calcsize()方法名称含义pack(fmt, v1, v2, …)按照给定的格式(fmt...转载 2019-10-10 12:45:26 · 3501 阅读 · 0 评论 -
Python3将excel中的数据导入mysql数据库
非常使用的方法:(亲测有效果)import pymysql# xlrd 为 python 中读取 excel 的库,支持.xls 和 .xlsx 文件# import xlrd # openpyxl 库支持 .xlsx 文件的读写from openpyxl.reader.excel import load_workbookfrom builtins import int #cur...转载 2019-08-21 11:24:17 · 1392 阅读 · 0 评论 -
python标准库——collections模块 的OrderedDict类
今天打印了下python的dict的类型,发现显示如下:一脸懵逼,如是特意查看了下这个OrderedDict类型,现记录如下:OrderedDict类Python中的字典(dict)对象可以使用‘键、值’对的形式存取值,但默认的内置类型字典中的元素是无序的。Collections模块下的OrderedDict类实现了对字典的排序,OrderedDict是dict的一个子类,实现了对字典排序...原创 2019-08-01 10:37:32 · 1070 阅读 · 0 评论 -
python3 将一个字符串形式的列表转换成真正的List列表
最简单的方法是使用 eval 函数 代码如下:#coding=utf-8# string类型的列表s = "[1,2,3,4]" l = eval(s) print(l)print(type(l))打印结果如下:[1,2,3,4]<class 'list'>...原创 2019-08-05 11:35:16 · 5769 阅读 · 0 评论 -
Python3将xml文件解析为Python对象
一、说明从最开始写javascript开始,我就很烦感使用getElementById()等函数来获取节点的方法,获取了一个节点要访问其子孙节点要么child半天要么就再来一个getElementById(),这是智障吗?----所以我不喜欢beautiful soup(当然还因为他不支持xpath)。python的json标准库可以将json结果直接解析为python对象;python也提供...原创 2019-08-01 09:27:32 · 478 阅读 · 0 评论 -
Python3的Json模块详解
简介Json模块主要用来进行Python对象的序列化和反序列化。该模块中常用的方法有以下四个:json.dump将Python对象序列化为Json格式的数据流并写入文件类型的对象中json.dumps将Python对象序列化为Json格式的字符串json.load从文件类型的对象中读取Json格式的数据并反序列化成Python对象json.loads将包含Jso...转载 2019-07-31 16:07:31 · 1409 阅读 · 0 评论 -
Python 实现多个服务器之间进行上传/下载文件功能
首先要说明的就是要实现此功能,需要借助paramiko模块,所以,本博客着重点讲解如何使用paramiko模块来进行相关的服务器之间的文件操作。一:简介paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, ...原创 2018-10-30 10:28:33 · 3847 阅读 · 0 评论