
Python
易有太极、是生两仪
北国风光,千里冰封,万里雪飘。望长城内外,惟馀莽莽。
展开
-
Python 修改yaml文件后,yaml文件中的注释消失。以及顺序重排,但内容正确的问题
该问题的原因就在于,yaml.dump()方法,是将新的格式内容重新生成yaml文件。(因为#注释掉了,所以load时就没包含#注释的内容),所以把内容重新生成时,未被#注释的内容没问题。但重新生成的新文件,不包含被注释的内容,且因为重新dump生成新文件。里面内容的顺序也会发生改变。如果希望只改变yaml文件里的内容,而不更改注释,可以使用一般的文件读取。通过ReadLine来实现。这里引用别人现成的代码,一个是修改以“=”为配置特征的setting.properties的配置文件,以及以“:”为分隔原创 2020-06-28 13:55:51 · 3938 阅读 · 0 评论 -
python 使用smtplib发送邮件 带附件 抄送多人等(亲测有效)
import osimport smtplibimport base64from email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartclass SendEmail(object): def __init__(self, username, passwd, recv, title, content, file=None, ssl=False, .原创 2020-06-18 11:33:43 · 5458 阅读 · 2 评论 -
python 解析接口response内容,根据key提出value
直接代码吧import jsonclass AnalysisJson: """解析接口返回json,根据key拿到value""" def __init__(self, data): self.data = data if isinstance(self.data, str): print('*****log :data is str') self.data = json.loads(self.dat原创 2020-06-17 20:05:35 · 1599 阅读 · 0 评论 -
ERROR:root:‘gbk‘ codec can‘t decode byte 0xba in position 890: illegal multibyte sequence
ERROR:root:'gbk' codec can't decode byte 0xba in position 890: illegal multibyte sequence我红色特殊标出来的地方,可能因为代码环境等数字不一致,但问题性质和本质原因一样。都是因为在读取文件时出现编解码转换错误问题,原因就是编码不一致造成的。解决办法:如果是用的py3的版本,在你的编辑器中修改要读取的...原创 2020-04-30 10:54:52 · 805 阅读 · 0 评论 -
TypeError: Unicode-objects must be encoded before hashing
TypeError: Unicode-objects must be encoded before hashing解决办法:在需要进行加密前对字符串进行编码原创 2020-04-29 20:22:11 · 415 阅读 · 0 评论 -
python的内存管理机制 解释一
先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲(1)垃圾回收(2)引用计数(3)内存池机制一、垃圾回收:python不像C++,Java等语言一样,他们可以不用事先声明变量类型而直接对变量进行赋值。对Python语言来讲,对象的类型和内存都是在运行时确定的。这也是为什么我们称Python语言为动态类型的原因(这里我们把动态类型可以简单的归结为对变量内存地址的分...转载 2020-03-30 14:25:23 · 273 阅读 · 0 评论 -
如何将自己的Python工程与Jenkins进行持续集成 及cmd命令执行py文件提示:ModuleNotFoundError: No module named
近期发现大家问我好多同样的问题。说:哥,最近在跟着你的项目做框架的搭建和持续集成。为什么,在我的pycharm中直接执行好好的,放到了Jenkins执行就执行不了了呢?下面我就简单系统的讲一下:假如我在pycharm中编写了一个叫aaa.py脚本,如果您Python的环境变量有配置且没有配置错误的话,我们可以打开cmd,进入到aaa.py文件所在的同级目录,python aaa.py来执行...原创 2019-11-10 18:44:37 · 1601 阅读 · 3 评论 -
Python yield 使用浅析以及用法详解
Python yield 使用浅析您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。如何生成斐波那契數列斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机...转载 2019-10-21 16:31:17 · 498 阅读 · 0 评论 -
Python错误提示:TypeError: sequence item 2: expected str instance, int found
我们知道在对list进行拼接,对字符串进行拼接的时候可以使用''.join()。但是在将list进行拼接转换为字符串的时候报错,大家可以对比看一下list01 = ['name', 'age', '20']s = ''.join(list01)print(s)try: list02 = ['name', 'age', 20] str02 = ''.join(list0...原创 2019-10-16 21:10:39 · 6465 阅读 · 1 评论 -
Python中self的用法详解,或者总是提示:TypeError: add() missing 1 required positional argument: 'self'的问题解决
最近在学习Python的过程中一直发现一个问题,就是在从网上看别人写的一些实例或者一些开源项目的时候,发现一个问题。在调用一个类或者一个类方法的时候,总是提示缺少传递的参数。自己写了一个简单的类似问题,如下:class Add(): def add(self): return Noneif __name__ == '__main__': print(A...原创 2018-10-31 17:25:22 · 178524 阅读 · 13 评论 -
Python class类的头尾下划线__xy__、两个下划线__x、一个下划线_y的简单区别
类属性与方法类的方法在类的内部,使用def关键字定义方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数类的私有方法__private:两个下划线开头声明的方法为私有方法,不能在类地外部调用。在类的内部调用self.__private。__private:两个下划线开头声明的属性为私有属性,不能在类的外部被使用或直接访问。在类内部的方法中使用时self._...原创 2019-06-06 14:48:36 · 1772 阅读 · 0 评论 -
Python 经典算法100及解析
QQ交流群:8218793551:找出字符串s="aaabbbccceeefff111144444"中,字符出现次数最多的字符(1)考虑去重,首先将字符串进行过滤去重,这样在根据这些字符进行循环查询时,将会减少循环次数,提升效率。但是本人写的代码较为臃肿,有更好的希望留言评论str = 'a1fsfs111bbbcccccvvvvvnnnnboooooosssnb'class C...转载 2019-06-10 19:01:26 · 39858 阅读 · 31 评论 -
Python 发送邮件学习及实例分析
在把一封信投入邮箱之前,要在信封上写上收信人的姓名和地址,邮局才会知道把信发到哪里。电子邮件同样也需要发信人给出正确的地址,才能将邮件送到目的地。在Internet的电子邮件系统中,每个用户都有一个邮件地址,这个地址是在用户申请时给的。Interact的电子邮件地址一般由两部分构成:用户名④电子邮件服务器名。例如:any@263.net,中间的“@”念作“at”,表示“在”。“@”之前是用户名,“@”之后是接收用户邮件并寄存的服务器名称。其中的电子邮件服务器名是一个拥有固定IP地址的电子邮件服务器,而用户名转载 2019-07-17 20:49:28 · 1763 阅读 · 0 评论 -
Python 使用re模块,正则表达式提取的几种案例
一、从固定字符串中进行提取import redata ='''{'WWW-Authenticate': 'Basic realm="13FFF07B-948F-4654-8DDF-72680B6EE312"', 'Content-Length': '0', 'Date': 'Wed, 07 Aug 2019 06:42:25 GMT'}'''str = re.findall(r're...原创 2019-08-08 16:00:11 · 6684 阅读 · 0 评论 -
Python正则表达式指南
1. 正则表达式基础1.1. 简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用...转载 2019-08-06 18:11:34 · 464 阅读 · 0 评论 -
Python 获取浏览器中存储的用户名和密码
我们在日常登录一个网站的时候,经常发现提示,问你是否保存用户和密码。那我们保存的用户和密码去哪里了呢?以Chrome浏览器为例:第一步点击Chrome右上角...第二步点击设置,然后找到密码第三步,展开查看:我截图的账号密码都擦除了,保密那这是在浏览器设置中查看,那他们存储在哪里了呢?或者说我们在自己的测试平台中,怎么样登录过一次,再次直接访问就展示出登录的用户...原创 2019-08-27 14:51:17 · 3687 阅读 · 0 评论 -
Python from引包时找不到,报错ModuleNotFoundError: No module named 'aaa'
关于在Python开发时一些隐含的坑,就是我们在日常工作时,开发一个框架。明明都是在一个工程目录下,可是在用from xxx import yyy来引或者调用工程其他目录下的文件时,报错。 from utils.config import Config, DRIVER_PATHModuleNotFoundError: No module named 'utils.config'如下所...原创 2019-09-20 11:05:10 · 5158 阅读 · 1 评论 -
Python 将py文件打包成可执行的exe文件
一、首先安装pyinstaller安装很简单1.在控制台中pip install pyinstaller2.下载到本地安装,因为我网速问题。我选择的方法2,下载地址下载后,将下载的PyInstaller-3.5.tar.gz文件进行解压缩。从控制台中进入到解压的目录下执行命令:python setup.py install问题安装成功后,使用打包命令打包不了。于是随便建立了一个p...原创 2019-09-23 21:05:08 · 1019 阅读 · 1 评论 -
Python 装饰器 @的用法详解
谈装饰器前,还要先要明白一件事,Python 中的函数和 Java、C++不太一样,Python 中的函数可以像普通变量一样当做参数传递给另外一个函数,例如:def foo(): print("foo")def bar(func): func()bar(foo)正式回到我们的主题。装饰器本质上是一个 Python 函数或类,它可以让其他函数或类在不需要做任何代码...转载 2019-04-08 18:25:37 · 276 阅读 · 0 评论 -
python提示错误:SyntaxError: Non-UTF-8 code starting with '\xc1'
程序中出现中文,运行的时候出现如下错误:SyntaxError: Non-UTF-8 code starting with '\xc1' in file C:\...\xxx.py on line 8, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details导致出错的根源就是编码问题。...转载 2018-12-19 16:51:22 · 544 阅读 · 0 评论 -
Python读取txt文件,将xxx=111,yyy=222转换为json或字典格式
txt文件中的内容如下:name= songxiaobaoage=18sex=man读取该txt文件,并将文件中的name=songxiaobao,age=18等内容转换为{'name': ' songxiaobao', 'age': '18', 'sex': 'man'}# 打开文本文件fp = open('C:/Users/songlihui/PycharmProject...原创 2018-11-07 13:55:16 · 6547 阅读 · 0 评论 -
Python中json.dumps() json.loads()json.dump()json.load()区别的简单解析
首先json.dumps()对应的json.loads(),dumps是将dict转化成str格式,loads是将str转化成dict格式import jsonjsons1 = """{"b":{"a":[{"n1":"WIFI","n2":840,"la":39.9,"l":false},{"n1":&quo原创 2018-11-06 20:40:39 · 994 阅读 · 0 评论 -
Python中字符串前u的详细解析,以及字符串前添加'b','r'的简单解释
一、字符串前添加u,例如u'hello 世界你好!'中文编码问题是用中文的程序员经常头大的问题,在python下也是如此,那么应该怎么理解和解决python的编码问题呢?我们要知道python内部使用的是unicode编码,而外部却要面对千奇百怪的各种编码,比如作为中国程序经常要面对的gbk,gb2312,utf8等,那这些编码是怎么转换成内部的unicode呢?首先我们先看一下源代码...转载 2018-11-06 17:36:54 · 15414 阅读 · 0 评论 -
Python解析URL参数的简单介绍
在日常工作的项目中,经常需要将一个传递过来的URL进行解析,并拿到其中的某些参数。在Python3中,我们可以使用urllib中的parse来搞定。我们可以拿到请求的协议如http/HTTPS/ftp,还可以拿到路径等等~~~具体上代码:import urllib.parseurl = "https://ss.yy.com/pages/viewpage.action?userId=9...原创 2018-11-06 17:12:39 · 14649 阅读 · 0 评论 -
Python django编程错误提示,自己编程中遇到的错误总结2018年11月8日更新
本人也是初学Python和django,因此可以说是天天会遇到各种各样自己不知道或者没见过的错误。之前的时候,并没有把所有遇到的问题,收集整理起来分享给大家。但是还是希望,从现在将自己平时学习中遇到的问题分享给大家做一些参考。也许有些是正确也许是错误。也欢迎大家一起来评论交流!!!此文章本人会陆陆续续的不断进行更新和补充完善,一起加油~~~~~~~1.AttributeError(“'str'...原创 2018-08-29 10:05:23 · 17757 阅读 · 3 评论 -
Python 在import时明明写的正确,却提示错误AttributeError: module 'test003' has no attribute 'desc'
在自己写一个小项目的时候,发现明明自己使用import引入自己项目中的另一个Python文件是正确的写法,在运行的时候却发现总是提示错误。因为笔者本人也是学习Python不久,经过一个小时的琢磨,感觉应该是两个文件循环引用导致错误。比如a.py中有a.tt()和a.uu()两个方法;b.py中有b.xx()和b.yy()两个方法。a.py在使用的时候需要引用b.py()中b.xx的方法,然后在b....原创 2018-10-29 21:07:08 · 3036 阅读 · 0 评论 -
Python读取配置文件(config.ini),写入配置文件
一、读取配置文件我的目录如下,在config下有一个config.ini配置文件配置文件内容# 定义config分组[config]platformName=AndroidappPackage=com.romweappActivity=com.romwe.SplashActivity# 定义cmd分组[cmd]viewPhone=adb devicessta...原创 2018-10-23 22:18:58 · 47545 阅读 · 6 评论 -
使用Python实现一个简单的接口服务
使用Python实现一个简单的接口服务,可以通过get、post方法请求该接口,拿到响应数据。创建一个api_server.py文件,添加代码如下:import flask, jsonfrom flask import request'''flask: web框架,通过flask提供的装饰器@server.route()将普通函数转换为服务登录接口,需要传url、username、...原创 2018-10-25 16:38:50 · 39245 阅读 · 15 评论 -
Python中的read(),readline(),readlines()区别与用法
0.准备假设a.txt的内容如下所示:HelloWelcomeWhat is the fuck...1. read([size])方法read([size])方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象f = open("a.txt")lines = f.read()print linesprint(ty...转载 2018-11-07 14:38:40 · 216 阅读 · 0 评论 -
Python调用outlook发送邮件,发送给多人、抄送给多人并带上附件
我的报告目录具体解释在代码中有详细注释import win32com.client as win32import datetime, osaddressee = 'test01@qq.com'+';'+'test02@jd.com'#收件人邮箱列表cc = 'test02@163.com'+';'+'test03@alibaba.com'#抄送人邮件列表mail_path ...原创 2018-11-13 16:39:08 · 22880 阅读 · 19 评论 -
Python提示:TypeError: 'NoneType' object is not callable的解决办法
这种错误有很多种原因,目前我在做接口自动化测试的时候遇到的这个问题,方法在调用的时候将()去掉即可原创 2018-11-08 20:44:16 · 57684 阅读 · 3 评论 -
Python中 range 和xrange的详细区别
升级到python3的同学应该会注意到以前经常用的xrange没了!是的,python3的range就是xrange。直接看效果!Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32Type "help", "copyright", "credits" ...转载 2018-12-05 16:36:33 · 300 阅读 · 0 评论 -
详解python linecache模块读取文件的方法
本节主要内容:python linecache模块读取文件在python中,有个好用的模块linecache,该模块允许从任何文件里得到任何的行,并且使用缓存进行优化,常见的情况是从单个文件读取多行。linecache.getlines(filename)从名为filename的文件中得到全部内容,输出为列表格式,以文件每行为列表中的一个元素,并以linenum-1为元素在列表中的位置存...转载 2018-12-05 16:16:38 · 405 阅读 · 0 评论 -
Python 读取大文件的方法,Python读取文件报错:MemoryError
创建一个3G大小的word文件,创建方法参考:如何快速生成一个指定大小的txt、word文件import datetimef = open(r'C:\Users\songlihui\PycharmProjects\test002django\apps\1.doc')t = open(r'C:\Users\songlihui\PycharmProjects\test002django\ap...原创 2018-12-05 15:42:34 · 4234 阅读 · 0 评论 -
Python中logging的简单用法,给自己搭建的项目或者工程添加日志logger
一、在项目中创建log.py文件,内容如下:import osimport loggingfrom logging.handlers import TimedRotatingFileHandlerpath = os.path.split(os.path.realpath(__file__))[0]log_path = os.path.join(path, 'result')#存放l...原创 2018-11-19 20:34:43 · 2649 阅读 · 0 评论 -
Python获取当前文件的绝对路径,使用os.path来得到当前操作文件的绝对路径
我有一个文件,目录为:C:\Users\songlihui\PycharmProjects\test001keshanchu\test\test1\test2\test3\test558.py如果获取到test558.py这个文件的绝对路径呢?import ospath = os.path.split(os.path.realpath(__file__))file_path ...原创 2018-11-19 15:48:49 · 3698 阅读 · 0 评论 -
Python3配置MySQL数据库连接池
一、首先第一步,我们先来编写数据库配置文件,在test001keshanchu下创建目录和文件test_db\config.ini,内容如下[DATABASE]host = 10.182.27.158port = 3306user = rootpasswd = 123456wtdatabase = xttest_newdbchar = utf8table = interface...原创 2018-11-19 14:56:10 · 3957 阅读 · 0 评论 -
Python调用outlook提示:有一个程序正试图以您的名义自动发送电子邮件。是否允许操作?
在使用Python写调用系统的outlook来发送测试结果报告的时候,发送邮件老是弹出警告只有连续点击允许后才会发送邮件解决办法:如果您是outlook2013的话,工具——信任中心——编程访问——选择“从不向我发任何可疑警告”即可...原创 2018-11-12 18:01:36 · 5199 阅读 · 1 评论 -
Python中ljust,rjust,center和zfill的用法解析
字符串在输出时的对齐:S.ljust(width,[fillchar]) #输出width个字符,S左对齐,不足部分用fillchar填充,默认的为空格。 S.rjust(width,[fillchar]) #右对齐 S.center(width, [fillchar]) #中间对齐 S.zfill(width) #把S变成width长,并在右对齐,不足部分用0补足 1 >...转载 2018-11-14 14:06:21 · 6273 阅读 · 2 评论 -
python 函数参数传递变量和传递list的区别
def changeNum(num): num += 1 print("自定义函数中的num = ", num)# 定义变量num,赋初始值为10num = 10changeNum(num)print("函数调用后num = ", num)def changeList(list1) : list1.append('newStr') print("函数中的lis...原创 2018-09-14 13:58:55 · 21479 阅读 · 0 评论