自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(565)
  • 收藏
  • 关注

转载 numpy 基础入门 - 30分钟学会numpy

很简单,Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使用。numpy ndarray数据类型可以通过参数dtype 设定,而且可以使用astype转换类型,在处理文件时候这个会很实用,注意astype 调用会返回一个新的数组,也就是原始数据的一份拷贝。将数组以二进制形式格式保存到磁盘,np.save 、np.load 函数是读写磁盘的两个主要函数,默认情况下,数组以未压缩的原始二进制格式保存在扩展名为.npy的文件中。这是特别需要关注的!

2023-06-08 16:41:45 268

转载 使用 GitHub 和 Python 实现持续部署

在这个例子中的持续部署服务是一个简单的 Flask 应用,其带有接受 GitHub 的网络钩子webhook请求的 REST 端点endpoint。在验证每个请求都来自正确的 GitHub 仓库后,服务器将拉取pull更改到仓库的本地副本。这些选项中绑定了 web 服务的 IP 地址为 0.0.0.0,意味着它将接收来自任何的主机的请求。当服务在该端点上接到请求时,首先它必须验证该请求是否来自 GitHub 以及来自正确的仓库。这篇教程使用网络钩子服务的 GitHub 仓库,但你可以使用你想要的不同仓库。

2023-06-08 14:18:50 301

转载 Python Excel处理库openpyxl详解

openpyxl是一个第三方库,可以处理xlsx格式的Excel文件。pip install openpyxl安装。读取Excel文件需要导入相关函数。

2023-06-08 09:57:26 19088 1

转载 解决python3 json数据包含中文的读写问题

python3 默认的是UTF-8格式,但在在用dump写入的时候仍然要注意:如下。“username”: “王小丫”,“Desc”: “登录基准测试”,“Title”: “登录测试”,

2023-06-07 14:20:20 624

转载 Python 操作 MySQL 的5种方式

不管你是做数据分析,还是网络爬虫,Web 开发、亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Python 操作 MySQL 的5种方式,你可以在实际开发过程中根据实际情况合理选择。1、MySQLdb。

2023-06-07 11:47:31 1435

转载 python3利用smtplib通过qq邮箱发送邮件

server.sendmail(my_sender,[my_user,],msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件。msg[‘From’]=formataddr([“发件人昵称”,my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号。server=smtplib.SMTP_SSL(“smtp.qq.com”, 465) # 发件人邮箱中的SMTP服务器,端口是465。SMTP服务器(端口465或587) smtp.qq.com。

2023-06-07 09:42:13 381

转载 使用pytz模块进行时区转换及时间计算

最近遇到了一个问题:我的server和client不是在一个时区,server时区是EDT,即美国东部时区,client,就是我自己的电脑,时区是中国标准时区,东八区。我需要向server发送一个时间,使得server在这个时间戳去执行一些动作。通常美东在夏令时时,和我们相差12小时,所以直接减掉这12小时,然后再加两分钟,可以实现发送基于server的时间戳,但是只有一半时间是夏令时,所以考虑还是基于时区来做。这个列表中的都是标准的国际时区,不过也不是那么全, 比如中国的’Asia/Chongqing’

2023-06-06 16:29:21 354

转载 python语音识别入门及实践

亚马逊的 Alexa 的巨大成功已经证明:在不远的将来,实现一定程度上的语音支持将成为日常科技的基本要求。整合了语音识别的 Python 程序提供了其他技术无法比拟的交互性和可访问性。最重要的是,在 Python 程序中实现语音识别非常简单。阅读本指南,你就将会了解。你将学到:•语音识别的工作原理;•PyPI 支持哪些软件包;•如何安装和使用 SpeechRecognition 软件包——一个功能全面且易于使用的 Python 语音识别库。语言识别工作原理概述。

2023-06-06 14:12:41 737

转载 Python3中urlopen()详解

data参数:data用来指明发往服务器请求中的额外的参数信息(如:在线翻译,在线答题等提交的内容),data默认是None,此时以GET方式发送请求;read() , readline() ,readlines() , fileno() , close() :对HTTPResponse类型数据进行操作。直接用urllib.request模块的urlopen()获取页面,page的数据格式为bytes类型,需要decode()解码,转换成str类型。#用户自定义表单,words表示的是用户要翻译的内容。

2023-06-06 10:10:02 1938

转载 手把手教你发布一个Python包

编译包,观察编译后的文件。发布包,发布的包可以有多种类型。如何在 Pypi 中查看已发布的包。注意:本文编写的包在 Python2 环境下测试通过,实际上这个包(只是个例子)比较简单,在 Python3 下也能运行。本文知识点可能陈旧,比如 Python Pypi 官方已做了很大改变。可以认为下载的源码就是读者自己编写的,然后在本地测试、生成、发布包。

2023-06-05 17:02:57 269

转载 Python和单元测试那些事儿

当修改了代码之后,单元测试可以保证API不会发生变化(假设原需求就不需API发生 变化)。写单元测试的时候会回想函数的作用,从而自动对函数进行回想和 review。缺点嘛:耗费时间。单元测试和文档一样,属于非常重要,但是非常耗费时间的工作, 因为要考虑齐全,考虑到的边界条件越多,测试覆盖率越高,程序越可靠,而想这些东 西是很耗费时间精力的。吐槽完毕,我们来说说目前我知道的几个和测试有关的东西(全程 Python 3)。Mock。

2023-06-05 14:06:14 33

转载 python 之信号Signal

时钟和进程之间是异步执行的,当时钟到时,内核会发送信号给进程,进程接收信号进行相应的响应操作.这就是所谓的python异步处理方案.这里的异步就是上文提到的异步机制,是计算机内核程序与本进程间同时运行,互相不干扰的一种机制,对于进程的正常执行有着关键的作用。注意: 这里的同步和异步机制是相对多进程而言的.(注意与多线程的异步执行相区分,之后我会写写多线程的异步机制的相关文章)信号signal 是python进程间进行信号发送的一种机制,其原理是操作系统对进程的控制,是一种程序中断。

2023-06-05 10:34:22 1030

转载 Python网络编程实现TCP和UDP连接

Python网络编程实现TCP和UDP连接, 使用socket模块, 所有代码在python3下测试通过。实现TCP。

2023-06-02 17:43:45 141

转载 Python读取大文件的“坑“与内存占用检测

而如果是文本文件,则可以用readline方法或直接迭代文件(python这里封装了一个语法糖,二者的内生逻辑一致,不过显然迭代文件的写法更pythonic )每次读取一行,效率是比较低的。笔者记录一次踩坑历程,并且给了一些总结,希望到大家在使用python的过程之中,能够避免一些可能产生隐患的代码。list而不是iter,所以所有的内容都会保存在内存之上,同样也会发生内存溢出的错误。这对方法在读取小文件时确实不会产生什么异常,但是一旦读取大文件,很容易会产生MemoryError,也就是内存溢出的问题。

2023-06-02 15:51:41 364

转载 使用Python创建简单的HTTP服务器

如果需要一个简单的Web Server,而不是安装那些复杂的HTTP服务程序,比如:Apache,Nginx等。那么可以使用Python自带的包完成一个简单的内建 HTTP 服务器。于是,你可以把你的目录和文件都以HTTP的方式展示出来。BaseHTTPServer: 提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。SimpleHTTPServer: 包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。

2023-05-31 13:42:27 1033

转载 sublime text3 显示空格和Tab

不同的平台对tab展开空格的个数的显示效果并不相同.使用空格的好处是,可以使得各个平台下,效果完全一致。只使用二者之一,都是没有问题的.如果一个python代码已经完成的部分,都是使用的4个空格.那么这个时候,就不可以插入tab键,而必须使用空格.注意: 如果原来已经有其他配置项, 注意每行后面的逗号, 使语法正确。还是在刚才的配置文件里,添加如下三行,自动转换tab为空格。这样就能轻松的在文件中看出是tab还是空格了。// 是否转换tab为空格,设置为true。// tab转换为空格的数量。

2023-05-31 09:27:47 475

转载 Python3 关键字nonlocal和global的用法与区别

global关键字修饰变量后标识该变量是全局变量,对该变量进行修改就是修改全局变量,而nonlocal关键字修饰变量后标识该变量是上一级函数中的局部变量,如果上一级函数中不存在该局部变量,nonlocal位置会发生错误(最上层的函数使用nonlocal修饰变量必定会报错)。global关键字可以用在任何地方,包括最上层函数中和嵌套函数中,即使之前未定义该变量,global修饰后也可以直接使用,而nonlocal关键字只能用于嵌套函数中,并且外层函数中定义了相应的局部变量,否则会发生错误(见1)。

2023-05-30 10:02:36 124

转载 问题解决local variable ‘xxx‘ referenced before assignment

在写代码是遇到了一个奇怪的问题,local variable ‘siteName’ referenced before assignment, 特此记录一下,这里其实是变量作用域的问题,平时开发中大家也会经常用到。在于python没有变量的声明 , 所以它通过一个简单的规则找出变量的范围 :如果有一个函数内部的变量赋值 ,该变量被认为是本地的,所以如果有修改变量的值就会变成局部变量。我猜测可能是在给函数内siteName赋值时出错了, 虽然这里并没有走这个if得分支,下面通过代码验证一下。

2023-05-26 14:07:48 1434

转载 Python判断对象是否为文件对象(file object)的三种方法

如果它走路像鸭子,叫声也像鸭子,我们就认为它是鸭子(起码在走路和叫声这样的行为上)。如下代码中,open得到的对象fp类型为file,当然是file的实例,而filename类型为str,自然不是file的实例。按照这个思路我们就有了第3中判断方法:判断一个对象是否具有可调用的read,write,close方法(属性)。要判断一个对象是否为文件对象(file object),可以直接用isinstance()判断。注意:该方法对于从file继承而来的子类不适用, 看下面的实例。

2023-05-26 09:28:57 575

转载 Python2 和 Python3 的区别及兼容技巧

最近 Python 之父 Guido van Rossum(龟爷)终于在 Python 官方邮件组落实了 Python 2.7 的终焉之日(EOL)。说的是 Python 2.7 的 EOL 日期最终确定为 2020 年 1 月 1 日,之后不会有任何更新,包括源码的安全补丁。所以兼容Python3已经可以说非常必要了,但有些常用的库还没有升级到Python3,所以我们看下如何写出兼容2和3的代码。Python 3 被钦定为 Python 的未来,于 2008 年末发布,是目前正在开发的版本。

2023-05-25 17:38:19 853

转载 Python中lambda表达式的优缺点及使用场景

lambda 表达式是 Python 中创建匿名函数的一个特殊语法. 我称 lambda 语法本身为 lambda 表达式,而它返回的函数我称之为 lambda 函数。从上面的例子可以看出lambda 表达式可以写出非常简练的代码,但是缺点也非常明显:难于理解,降低了可读性和性能。当经验丰富的 Python 程序员看到一个lambda 表达式时,他们知道他们正在使用一个仅在一个地方有效的函数, 并且只做一件事情。lambda 函数通常可以被替换为标准库中已存在的函数或 Python 内置的函数。

2023-05-24 09:52:36 123

转载 Python 代码混淆和加密技术

有一个经验之谈, 你可以将所有每个模块中的某个一个位置的变量抽出, 放到一个python文件中, 使用cython来处理这个文件. 这样就会增加破解者从其他pyc文件中移除pyd文件依赖的难度了.为了增加代码阅读的难度, 源代码的混淆非常必要, 一个在线的Python代码混淆网站. http://pyob.oxyry.com/同时需要注意的是, 这个混淆其实还是被很多人怀疑的, 因为即使混淆了, 也没有改变代码的结构. 这种方法只能”防君子,不防小人“结构稍微改变, 合并几个类到同一个文件.

2023-05-23 17:50:52 422

转载 Web应用程序测试的工具selenium用法详解

selenium主要是用来做自动化测试,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题。模拟浏览器进行网页加载,当requests,urllib无法正常获取网页内容的时候一、声明浏览器对象注意点一,Python文件名或者包名不要命名为selenium,会导致无法导入#webdriver可以认为是浏览器的驱动器,要驱动浏览器必须用到webdriver,支持多种浏览器,这里以Chrome为例二、访问页面并获取网页html。

2023-05-23 13:58:42 87

转载 Python3实现旋转数组的3种算法

因为 k 可能大于 nums 的长度(当这两者相等的时候,就相当于 nums 没有移动),所以我们取 k % len(nums),k 和 nums 的长度取余,就是最终我们需要移动的位置。先把 nums 复制到 old_nums ,然后 nums 中索引为 x 的元素移动 k 个位置后,当前索引为 x+k,其值为 old_nums[x]。输入: [1,2,3,4,5,6,7] 和 k = 3。向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 3 步: [5,6,7,1,2,3,4]

2023-05-22 15:40:09 304

转载 Python中__new__和__init__的区别与联系

_new__至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自动提供,__new__必须要有返回值,返回实例化出来的实例,可以return父类__new__出来的实例,或者直接是object的__new__出来的实例。__init__有一个参数self,就是这个__new__返回的实例,__init__在__new__的基础上可以完成一些其它初始化的动作,__init__不需要返回值。如果__new__返回一个对象的实例,会隐式调用__init__

2023-05-22 11:52:14 407

转载 Python eval的用法及注意事项

eval是Python的一个内置函数,这个函数的作用是,返回传入字符串的表达式的结果。想象一下变量赋值时,将等号右边的表达式写成字符串的格式,将这个字符串作为eval的参数,eval的返回值就是这个表达式的结果。当两个参数都不为空时,先查找locals参数,再查找globals参数,locals参数中同名变量会覆盖globals中的变量。eval虽然方便,但是要注意安全性,可以将字符串转成表达式并执行,就可以利用执行系统命令,删除文件等操作。强大吧,给个字符串给eval,eval给你一个表达式返回值。

2023-05-22 10:08:21 262

转载 Python3中_和__的用途和区别

在类TestA中,__method方法其实由于name mangling技术的原因,自动转换成了_TestA__method,所以在A中method方法返回的是_TestA__method,TestB作为TestA的子类,只重写了__method方法,并没有重写method方法,所以调用B中的method方法时,调用的还是_TestA__method方法。注意:在A中没有__method方法,有的只是_A__method方法,也可以在外面直接调用,所以python中没有真正的私有化。

2023-05-18 16:47:17 424

转载 python json.dumps中文乱码问题解决

json.dumps(var,ensure_ascii=False)并不能解决中文乱码的问题json.dumps在不同版本的Python下会有不同的表现, 注意下面提到的中文乱码问题在Python3版本中不存在。注:下面的代码再python 2.7版本下测试通过。

2023-05-18 11:51:57 2197

转载 Python3正则表达式之:(?(id/name)yes-pattern|no-pattern)条件性匹配

当该特殊规则中的作为判断条件的组本身不允许为空的时候,在该组对目标字符串匹配为空的情况下,整体规则匹配失败,所以后面的作为整体一部分的特殊规则自然也就无效了。id: 如果是无命名的分组,即unnamed group,则对应的该分组也有对应的分组的编号,称为group的number,也叫做id,对应的就是这里的id;只匹配group 1 部分, yes部分没有匹配,也是有匹配结果的, 那说明yes-pattern和no-pattern不一定必须匹配成功。可以匹配到, group1和yes部分都匹配到了。

2023-05-18 09:25:57 100

转载 python基础之删除文件及删除目录的方法

转自:https://www.weidianyuedu.com/下面来看一下python里面是如何删除一个文件及文件夹的~~#首先引入OS模块import os#删除文件:os.remove()#删除空目录:os.rmdir()#递归删除空目录:os.removedirs()递归删除目录和文件(类似DOS命令DeleteTree):方法1:import osfor root, dirs, files in os.walk(top, topdown=False):for name in f

2023-05-17 09:20:12 702

转载 python基础之使用os.system来执行系统命令

但是大部分动作都是由os模块来帮助我们完成了,现成的模块功能非常多,这是python的一大特色。感兴趣的话,可以用python os.system 来尝试更多的系统命令……今天我们来尝试使用python 的os.system来执行系统命令。这样就完成了这个简单的功能,就这么简单,两句话,哈哈……自己可以去实验以下哈。

2023-05-16 16:54:26 725

转载 详解python 局部变量与全局变量

print(language ) # 打出python # 因为没有声明局部变量所以python会搜索全局的language ,这个bar是全局的。print(language ) # 打出hello,并且不会影响全局变量language (全局那个bar仍然是’python’)print(language) # 打出hello,全局的language 已经改为hello不再是python了。global language # 告诉python下面的bar是全局的。#再打印一下language 看一下。

2023-05-16 13:59:11 37

转载 详解python2 和 python3的区别

而apply()、 callable()、coerce()、 execfile()、reduce()和reload。2)bytes对象不能hash,也不支持 b.lower()、b.strip()和b.split()方法,但对于后两者可以使用 b.strip(b’3)dict的.keys()、.items 和.values()方法返回迭代器,而之前的iterkeys()等函数都被废弃。3.X: print((x, y)) # 不同于print(x, y)!

2023-05-16 10:27:31 144

转载 初学者学习python2还是python3?

但是还有部分比较陈旧的库已经无人维护, 也就没有支持最新的Python3,不过不用担心, 这些库往往是不常用的,或者说可以找到替代方案。如果你是一个初学者,或者你以前接触过其他的编程语言,你可能不知道,在开始学习python的时候都会遇到一个比较让人很头疼的问题:版本问题!当初设计 Python3 的目的是没有代码兼容的包袱的情况下改进 Python,所以python3有很大改进,比 Python2更容易理解,更加合理。但是,但是我还是推荐直接学习Python3,毕竟它的语法更合理,更新。

2023-05-16 09:21:53 172

转载 import方法引入模块详解

若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口);在python用import或者from…python的import方法可以引入系统的模块,也可以引入我们自己写好的共用模块,这点和php非常相似,但是它们的具体细节还不是很一样。下面程序执行方式均在程序文件所在目录下执行,如test2.py是在cd sub;python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。

2023-05-15 17:19:44 409

转载 关键字参数与非关键字参数(可变参数)详解

学过php或者其他语言的同学都知道,php里面的参数不是个数不是可变的(只是很多时候是可以省略的,因为在函数定义的时候为参数设置了默认值)。但是在python里却不是这样,python里面运行可变参数的出现,参数中出现(*arg,**arg2)的形式。注意:这种用法常用在python的装饰器中,至于什么是装饰器,它是python里面非常重要的一个特性,我会在以后详解。python函数的这种特性使得函数参数更加灵活,参数个数也不受限制。函数声名部分,参数的四个部分不可颠倒位置,可以没有其中某几部分。

2023-05-15 13:59:56 77

转载 python基础之文件操作

需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。返回一个路径的目录名和文件名:os.path.split() eg os.path.split(‘/home/swaroop/byte/code/poem.txt’) 结果:(‘/home/swaroop/byte/code’, ‘poem.txt’)把一个file用于for …

2023-05-15 10:39:25 112

转载 python基础之列表解析

python列表解析:是一个让人欣喜的术语,你可以在一行使用一个for循环将所有的值放在一个列表之中。python列表解析属于python的迭代中的一种,相比python for循环速度会快很多。等range(10)迭代完以后就新生成了一个列表,结果就是[2, 3, 4, 5, 6, 7, 8, 9, 10, 11],python会在解释器里对range(10)进行迭代,依次把列表里的内容取出来,赋值给最左边的x,然后执行x+2的操作,从上面可以看出,这也是建立python 列表的一个方法。

2023-05-15 10:38:01 41

转载 python基础之列表解析

python列表解析:是一个让人欣喜的术语,你可以在一行使用一个for循环将所有的值放在一个列表之中。python列表解析属于python的迭代中的一种,相比python for循环速度会快很多。等range(10)迭代完以后就新生成了一个列表,结果就是[2, 3, 4, 5, 6, 7, 8, 9, 10, 11],python会在解释器里对range(10)进行迭代,依次把列表里的内容取出来,赋值给最左边的x,然后执行x+2的操作,从上面可以看出,这也是建立python 列表的一个方法。

2023-05-12 15:30:30 178

转载 判断python字典中key是否存在的两种方法

上面两种方式,我更推荐使用第二种,因为has_key()是python2.2之前的方法,而且使用in的方法会更快一些。在python的字典的属性方法里面有一个has_key()方法,这个方法使用起来非常简单。#打印返回值,其中d.keys()是列出字典所有的key。第一种方法:使用自带函数实现。第二种方法:使用in方法。

2023-05-12 13:41:58 2442

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除