Python
文章平均质量分 60
介绍python开发中应用到的脚本和相关问题的解决
風の住む街~
一腔柔情,一抹忧伤。
展开
-
Python中mysql查询条件带变量方法
方法一:testcase_id = cur.execute('select * from service_testcase where test_name ="'+name+'"')其中name为一个可变的字符串变量,要是变量为数值类型的变量,有时候是不好用方法二:cur.execute('update service_jmetertask set result=%s where do_number=%s and testcase_id=%s', (result, do_number, testc原创 2021-05-12 18:50:20 · 4604 阅读 · 0 评论 -
Python处理非标准 json 格式字符串
数据格式[{id,12,title:"测试数据标题",content:"这是文章内容"},{id,13,title:"测试数据标题13",content:"这是文章内容"},{id,14,title:"测试数据标题14",content:"这是文章内容"}]我们经常碰到一些JSON数据的Key值不是字符串,这些数据在JavaScript的上下文中是可以解析的,但在Python中,没有该部分数据的上下文,无法采用json.loads(JSON)的形式导入。方法一:使用demjson库pip in原创 2021-03-22 15:33:42 · 2339 阅读 · 1 评论 -
Python处理Excel表格(xlrd、xlwt、xlutils)
导入第三方库# 第三方库 安装方式:cmd-->pip install xlrdpip install xlrdpip install xlwtpip install xlutilsXlrd库读取Excelimport xlrd # 1-读取excel测试用例excelDir = r'E:\test.xls'# 打开Excelwork_book = xlrd.open_workbook(excelDir)# 查看所有的子表名print('所有子表名:', work_原创 2021-03-18 19:04:34 · 333 阅读 · 0 评论 -
Python操作Mysql数据库(pymysql库)
创建数据表CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `email` varchar(255) COLLATE utf8_bin NOT NULL, `password` varchar(255) COLLATE utf8_bin NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_binA原创 2020-12-31 14:06:58 · 157 阅读 · 0 评论 -
Python读取文件出现‘gbk‘ codec can‘t decode byte 0xbf in position 2: illegal multibyte sequence‘
错误的意思是:Unicode的解码(Decode)出现错误(Error)了,以gbk编码的方式去解码(该字符串变成Unicode),但是此处通过gbk的方式,却无法解码(can’t decode )。“illegal multibyte sequence”意思是非法的多字节序列,即没法(解码)了。出现这种问题的原因时,需要处理的字符串本身不是gbk编码,但是又使用gbk编码。比如,我们的字符串本身是utf-8的,但是却用gbk去解码utf-8的字符串,所以结果必然出错。通过查询部分回答提供了两种解决方.原创 2020-12-31 14:00:25 · 59136 阅读 · 0 评论 -
Python:Manager进程之间共享数据
在多进程中,每一个进程都有自己的变量拷贝,所以主进程中的一个变量传入其他进程修改,得到的结果仍然存储于那个进程中,主进程中这个变量其实相当于没有被修改过。为了能让其他进程的修改能够同步到主进程上来,需要创建能在多个进程之间共享的变量。from multiprocessing import Processdef f1(x, l): x += 1 l.append(2) print("f1:") print(x) print(l)def f2(x, l):原创 2020-12-29 11:51:14 · 3059 阅读 · 0 评论 -
Python计算函数执行时间(五种案例)
Python计算函数执行时间1. time.time()2. time.perf_counter() 推荐3. timeit.timeit ()4.装饰器统计运行耗时5. with 语句统计运行耗时1. time.time()在计算函数执行时间时,这种时最简洁的一种方式,用两个时间戳做减法。import timedef func(): print('func start') time.sleep(1) print('func end')t = time.tim原创 2020-12-25 15:02:44 · 39003 阅读 · 6 评论 -
Python去除列表中的重复元素
def func1(one_list): ''' 使用集合,个人最常用 ''' return list(set(one_list))def func2(one_list): ''' 使用字典的方式 ''' return {}.fromkeys(one_list).keys()def func3(one_list): ''' 使用列表推导的方式 ''' temp_list = [] for o.原创 2020-12-15 17:19:03 · 159 阅读 · 0 评论 -
Python去除list中的空字符串
方法一:a = ['\n ', '1', ' ','Tuesday, May 05, 2020','\n']我们需要将这个列表,中间有’\n ‘, ’ ‘,’\n’,这些都是我们不需要的,需要将其去掉。list=[x.strip() for x in a]运行会发现结果为['', '1', '', 'Tuesday, May 05, 2020', '']通过for循环将不需要的都转化为了空。我们需要通过判断去除其中我们不需要的空list = [x.strip() for原创 2020-12-15 11:26:17 · 27158 阅读 · 1 评论 -
Python项目导出依赖的第三方库
导出项目安装过的第三方库pip freeze > requirements.txt在新环境安装已导出的第三方库pip install -r requirements.txt原创 2020-12-11 10:02:32 · 522 阅读 · 0 评论 -
Python跟新pip时出现错误No module named ‘pip‘
错误信息在安装库的时候提示可以更新一下pip,但是更新完后就出现了问题。—》>pip install --upgrade pipERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。: 'd:\\python\\scripts\\pip.exe'Consider using the `--user` option or check the permissions.解决办法:因为原创 2020-12-06 22:08:10 · 263 阅读 · 0 评论 -
Python之学习Selenium(三):自动化测试
准备工作:1.python环境(该文测试用3.8)2.安装selenium库3.下载安装浏览器的驱动(本例为Chrome浏览器的ChromeDriver)一、基本使用from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support import expect原创 2020-11-02 20:06:38 · 355 阅读 · 0 评论 -
Python之学习Selenium(二):API和常用操作
API和常用操作基本操作一、声明浏览器对象(需要安装相应浏览器的驱动)二、查找元素三、元素交互操作四、获取元素信息(属性,文本,位置,大小等)五、对Frame框架的处理六、等待操作相关API1.前进后退2.Cookies3.选项卡操作4.异常处理基本操作Selenium中文文档一、声明浏览器对象(需要安装相应浏览器的驱动)from selenium import webdriverbrowser = webdriver.Chrome()browser = webdriver.Firefox()原创 2020-11-02 19:54:30 · 967 阅读 · 0 评论 -
Python之学习Selenium(一):Selenium介绍
Selenium介绍Selenium常用作自动化处理和网络爬虫。自动化测试什么是Selenium?webdriver使用配置各浏览器Driver下载地址网络爬虫Selenium常用作自动化处理和网络爬虫。自动化测试自动化测试可以涉及和试用的范围主要在以下方面:基于Web UI的浏览器应用的界面测试基于WebService或者WebAPI的服务契约测试基于WCF、.net remoting、Spring等框架的服务的集成测试基于APP UI的移动应用界面测试基于Java、C#等编程文件进行的原创 2020-11-02 19:36:27 · 153 阅读 · 0 评论 -
VScode用第三方库的某些成员报错Module ‘xx‘ has no ‘xx‘ member pylint(no-member)
报错:原因:pylint是vscode的python语法检查器,pylint是静态检查,在用第三方库的时候有些成员只有在运行代码的时候才会被建立,它找不到成员,就会出现报错。如果我们在设置(settings.json)里添加"python.linting.pylintArgs": ["--generate-members"]虽然可以来避免报错,但是vscode提供给pylint的默认选项就没有了。解决方法:方法一:Ctrl+Shift+p 》setting在设置(settings.j原创 2020-10-20 20:37:27 · 375 阅读 · 0 评论 -
Anaconda详细安装及使用并配置连接Pycharm和VScode
Anacond的介绍Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)在他们的官方网站上Resource(资源)–》Open SourceConda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,原创 2020-10-20 19:47:22 · 4921 阅读 · 1 评论 -
Anaconda、Conda、Miniconda的介绍和使用方法
1.CondaConda是一种通用包管理系统,旨在构建和管理任何语言和任何类型的软件。举个例子:包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。对conda的基本掌握:1:基本操作:升级全部库: conda upgrade --all升级一个包 conda update packagename安装包:conda install packagename也可以安装多个包: conda installl numpy pandas scipy安装原创 2020-10-20 17:18:35 · 3203 阅读 · 2 评论 -
Python拼接字符串的七种方式
Python拼接字符串的七种方式1、来自C语言的%方式(不推荐)2、format()拼接方式3、常用的+号方式4、面向对象模板拼接(不推荐)5、join()拼接方式6、f-string方式7、() 类似元组方式 (不推荐)总结1、来自C语言的%方式(不推荐)print('%s %s' % ('Hello', 'world'))>>> Hello world%号格式化字符串的方式继承自古老的C语言,这在很多编程语言都有类似的实现。上例的%s是一个占位符,它仅代表一段字符串,并不是拼原创 2020-09-10 18:33:38 · 135 阅读 · 0 评论 -
pyhton基础总结(一)数据类型和变量
数据类型Python中主要的数据类型有以下几种:整数:和数学中的写法相同,分为正整数和负整数。整数有两种除法,一种除法是/,结果为浮点数。另一种为//,称为地板除,两个整数的除法仍然是整数。%为取模,也就是取余数。浮点数:相当于数学中的小数,因为常用科学计数法表示,小数点可以自由变换,并不影响其大小,例如,1.36,3.14等,对于数值比较大的浮点数,需要用科学计数法表示,把10用e替代,1.36x10[^9]就是1.36e9或者13.6e8,两者大小相等;0.000012可以写成1.2e-5,原创 2020-08-19 19:53:58 · 140 阅读 · 0 评论 -
Python文件操作方法总结
1.获取目录列表使用os模块Python2.7中使用 os.listdir() 或 在Python 3.x 中使用 os.scandir() 。 如果你还想获取文件和目录属性(如文件大小和修改日期),那么 os.scandir() 则是首选的方法。os.listdir() 返回一个Python列表,其中包含path参数所指目录的文件和子目录的名称。import osentries = os.listdir('目录名') #结果为列表for entry in entries: pri原创 2020-08-10 18:50:02 · 434 阅读 · 0 评论 -
两种方法分割python多空格字符串
做法:1.str.split()2.filter(None,str.split(" "))直接用str.split(" ")是不行的,他只会分割一个空格,如下def test_filter():str = “aa bbbbb ccc d”str_list = str.split(" ")print str_list结果:第一种做法:实际上,split()函数默认可以按空格分割,并且把结果中的空字符串删除掉,留下有用信息def test_filter():str原创 2020-08-10 17:44:02 · 8733 阅读 · 0 评论 -
python判断是否为空
Python中对变量是否为None的判断python语言与其他语言不同,没有NULL类型,空用none来表示,但同时需要注意,none是有数据类型的,type为‘Nonetype’因此python中判断对象为非空时需要注意对象类型三种主要的写法有:if X is None;if not X;当X为None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这些时,not X为真(True),即无法分辨出他们之间的不同。if not X is None;原创 2020-08-07 18:07:08 · 21881 阅读 · 0 评论 -
python的list使用进阶
列表函数&方法的对象不仅可以是字符串也可以是列表list常用函数方法append()添加列表项这种类似直接赋值,或者我们可以使用list[3] = ‘c’#方法: list.append(obj)#示例:a = ['1','a','b']a.append('c')print(a)当我们追加的是一个变量时我们就需要注意append的深拷贝和浅拷贝浅拷贝:在 Python 中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,Python 并没有拷贝原创 2020-08-07 16:22:31 · 293 阅读 · 0 评论 -
解决Python中遇到变量存在转义问题
在我们日常使用中经常会配到转义问题,一般字符穿的转义直接使用r''就可以解决,但在面对变量传参时,这种办法就显得很难解决,需要我们使用特殊的函数来解决。数据写入数据库一般在写入的数据中,如果还有文本数据,里面就可能还有转义的字符,挨个处理显然是不可能的,所以我们就要借用pymysql中的pymysql.escape_string()方法对变量进行转义,使文本中的转义不影响数据的存储。文件路径(或者变量)这个就需要我们使用自己写的变量转义函数来进行操作,我一个写了一个方法,可以根据自己的实际情况增加字原创 2020-07-16 17:47:04 · 2643 阅读 · 0 评论 -
Python处理数据,并经其存储为文本数据(Txt、JSON、CSV、Excel)总结
Txt文件存储将数据保存为txt文件格式是最为简单的。with open('test.txt','w',encoding='utf-8') as file: file.write() #写入文件 可以添加写入的'\n'.join([字段]) file.close() # 关闭JSON文件存储可以调用 JSON loads()方法将JSON文本字符串转为JSON对象,可以通过 dumps()方法将 JSON 对象转为文本字符串,import jsonwit原创 2020-07-10 17:57:18 · 1374 阅读 · 0 评论 -
Python中dumps()和loads()、dump() 和load()的区别
json.dumps()和json.loads()主要针对是字符串处理json.dumps()json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。通过 dumps()方法将 JSON 对象转为文本字符串,一般用来将json的存储。对数据进行编码。json.loads()json.loads()用于将str类型的数据转成dict。调用 JSON loads()方法将JSON文本字符串转为JSON对原创 2020-07-10 17:42:21 · 380 阅读 · 0 评论 -
解决 Python下载依赖库时No module named pip
WARNING: You are using pip version 20.0.2; however, version 20.1.1 is available.You should consider upgrading via the ‘d:\python\python.exe -m pip install --upgrade pip’ command.更新pip时,出现报错,然后再使用时就出现了No module named pip解决方法:先执行 python -m ensurepip再原创 2020-07-06 18:56:54 · 4297 阅读 · 6 评论 -
Python中文本处理read(),readline(),readlines(),linecache()区别与用法
1. read([size])read([size])方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象1、读取整个文件,返回的是一个字符串,字符串包括文件中的所有内容。2、若想要将每一行数据分离,即需要对每一行数据进行操作,此方法无效。3、若内存不足无法使用此方法。with open('test.txt', 'r', encoding='UTF-8') as f1: results = f1.read() # 读取数据 p原创 2020-06-22 15:02:54 · 1129 阅读 · 0 评论 -
Python 时间模块(date time datetime)详解、示例
一、datetime模块介绍(一)、datetime模块中包含如下类:类名功能说明date日期对象,常用的属性有year, month, daytime时间对象datetime日期时间对象,常用的属性有hour, minute, second, microseconddatetime_CAPI日期时间对象C语言接口timedelta时间间隔...原创 2020-05-20 11:49:22 · 1532 阅读 · 0 评论 -
社交媒体爬虫------调用微博API获取微博内容
一.创建应用创建应用的目的是获取app-key和app-secret,并设置授权回调页。(1)获取app-key和app-secret登陆微博开放平台创建应用http://open.weibo.com/apps/new?sort=web应用名称以及后续的信息随便填,填写完毕后,不需要提交审核,需要的只是那个app-key和app-secret。应用创建成功后可以在“我的应用”里面看到刚刚...原创 2020-04-27 18:39:29 · 4032 阅读 · 1 评论 -
python|查询数据库中fetchone()函数、fetchall()函数、fetchmany()的区别及用法
fetchone() :返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None用法:cur.execute("select host,user,password from user where user='%s'" %acc)jilu = cur.fetchone() ##此时 通过 jilu[0],jilu[1],jilu[2]可以依次访问host,user,pass...原创 2020-04-22 14:20:14 · 5053 阅读 · 0 评论 -
python的json文件读取错误list indices must be integers or slices, not str
这里的提示意思是list的索引必须是整数或者片,而不是str通过调试我的代码发现,我这里的data中的数据是如下图所示这是因为我这里的data中有很多的dict,并且没有标记,所以取不到对应的键值对.所以具体解决办法: list = date[0]['results']...原创 2020-03-31 16:41:29 · 3159 阅读 · 0 评论 -
python判断列表的时间是否正常,不正常则计算正确时间。
list = [‘2020-03-23’,‘2019-12-23’,‘3天前’,‘4天前’,‘2020-03-16’,'4天前']for li in list: a = re.compile(r'\d{4}-\d{2}-\d{2}').findall(li) if a != []: time1 = li print(time1) else:...原创 2020-03-30 15:46:16 · 335 阅读 · 0 评论 -
python去除空格和换行符的方法
一、去除空格strip()" xyz ".strip() # returns “xyz”" xyz ".lstrip() # returns "xyz "" xyz “.rstrip() # returns " xyz”" x y z ".replace(’ ', ‘’) # retur...原创 2020-03-27 17:19:53 · 955 阅读 · 0 评论 -
python正则表达式之获取a标签href属性
url = re.compile(r'<h2.*?><a\b[^>]+\bhref=\\"([^"]*)"[^>]*>.+?</a></h2>').findall(li)<h2.?> #表示在h2标签内<a\b #匹配a标签的开始[^>]+ #匹配a标签中href之前的内容\bhref="([^"])" ...原创 2020-03-26 10:22:45 · 10909 阅读 · 4 评论 -
python读取和解析含有多个json对象的json文件
日常中我们读取单个的json文件,只需要使用loads()就可以轻松获取到需要的信息。但是当我们遇到含有多个json对象时,读取的时候就会很麻烦,使用正常读取单个json文件的loads()方法就无法读出。那么我们就要使用一种特殊的json存储,其存储方式可以使用我另外一篇文章的方法一存储。https://editor.csdn.net/md/?articleId=104992653存储结...原创 2020-03-20 17:00:54 · 9163 阅读 · 1 评论 -
python读取数据中的数据存储为JSON格式
方法一:这种方式的得到的文件,虽然打开文件后报错,不要要修改,这是应为python中json的正确存储格式式[{“Name”: “ESET”, “link”: “https://www.welivesecurity.com/”},{{“Name”: “TrendMicro”, “link”: “https://blog.trendmicro.com/trendlabs-securit...原创 2020-03-20 16:25:08 · 1432 阅读 · 0 评论 -
pyhton批量化用标题命名文件名踩得坑
我们在批量话用标题命名文件时,就会出现文件消失或者错误的情况,本人也是找了好多才解决的这个坑。有些标题中包含: ? 这类的字符,如果还是用原标题命名就会出现错误,所以我们就要先做预处理,将标题中的: ?给去除掉。windows系统当中的文件命名,有些特殊字符是不能存在,下面我们来看一下哪些字符不能存在。文件名称中不能包含 \ / : * ? " < > | ...原创 2020-03-19 17:25:02 · 144 阅读 · 0 评论 -
python中时间转换错误:时间戳转换||带有时区的转换
问题time = '2020-03-11T17:15:07+00:00'item = time.strftime("%Y-%m-%d")print(item)Traceback (most recent call last): File "D:/python file/text_script/se.py", line 16, in <module> item ...原创 2020-03-19 14:54:00 · 3479 阅读 · 0 评论 -
Python时间戳与时间的相互转换
在用Python处理数据时,可能有时候会需要将时间转换成时间戳,或者说将时间戳转换成时间,这里分享一下时间戳与时间的相互转换的方法。在Python里面处理时间相关问题,基本上用的包就是time和datetime两个,这里也是用这两个包实现时间戳和时间的相互转换。时间戳转换成时间import datetimeimport timetime1 = '2020-03-11T17:15:07+0...原创 2020-03-18 18:55:06 · 554 阅读 · 0 评论