后端
未读
Python Learn(七)
本文深入讲解了Python中的几个高级特性:函数的作用域、闭包、装饰器。首先解释了Python函数的作用域规则,即LEGB规则,涵盖了局部、闭包、全局和内置作用域。接着,通过示例详细介绍了闭包的概念、作用以及使用场景,包括如何通过闭包提高代码的复用性和封装性。然后,文章通过具体代码演示了如何使用装饰器简化代码并增强函数功能,包括装饰器的定义、使用方法和语法糖@的应用。通过这些内容,读者可以更深入地理解Python中的这些高级特性,并在实际编程中灵活运用。
后端
未读
Python Learn(六)
本章节深入探讨了Python中的文件操作,包括文件的基本概念、打开与关闭文件的不同方式、文件读写操作以及文件指针和文件对象属性的详细讲解。首先,介绍了文件在Python中的定义及其在Linux系统中的特殊视角,紧接着通过open函数的使用,展开了文件的打开方法以及读写方式的具体操作,包括如何利用缓冲区大小,以及如何使用read、readline、readlines等函数进行高效文件读取。此外,文章还讨论了文件写入的机制,强调了调用close()或flush()方法的重要性,以确保数据正确同步到磁盘。在讲述文件关闭的必要性时,也提到了操作系统对打开文件数量的限制。最后,文章详细解释了文件指针的操作和文件对象的一些重要属性,如文件描述符fileno、文件打开模式mode、文件编码等,为读者提供了全面而深入的文件操作知识。
通过本章节的学习,读者将能够掌握Python中进行文件操作的各种技巧和最佳实践,为处理实际编程任务中的文件操作需求打下坚实的基础。
后端
未读
Python Learn(五)
本文深入讲解了Python中面向对象编程的核心概念,包括继承、多态和类的定制化。通过继承,子类能够获取父类的属性和方法;多态允许子类以不同的方式实现这些方法。文章还介绍了如何使用特殊方法来定制类的行为,例如__str__、__repr__和__cmp__等,以及@property装饰器的使用,这有助于安全地访问和修改私有属性。此外,还探讨了__slots__的使用来限制类属性,以及__call__方法,使类实例能够像函数那样被调用。这些高级特性的讲解,旨在帮助开发者更深入地理解并应用Python的面向对象编程,提高代码的效率和质量。
后端
未读
Python Learn(三)
本篇文章总结了Python中的函数式编程、高阶函数、map()、reduce()、filter()、sorted()、闭包、匿名函数、decorator以及偏函数等概念和用法。函数式编程不要求是纯函数式编程,允许存在变量,支持高阶函数、闭包和有限支持匿名函数。高阶函数可以接收函数作为参数,或者返回函数作为结果。map()对列表中的每个元素应用一个函数,reduce()对列表中的每个元素进行累积计算,filter()过滤列表中的元素。Python中还可以使用sorted()进行自定义排序,返回函数的概念在Python中得以实现,函数装饰器这一特性可以动态地增加函数的功能。最后,通过functools.partial()函数实现偏函数,方便地对参数较多的函数进行简化调用。
后端
未读
Python Learn(二)
本文主要介绍了Python函数、切片、迭代、列表生成式的使用方法。通过示例介绍了在Python中定义函数、调用函数、函数编写、函数返回值、递归函数、默认参数、可变参数等内容,同时详细介绍了对list、tuple、dict、字符串进行切片操作的方法,以及如何使用迭代和列表生成式生成列表。文章通过示例演示了多种不同场景下的应用,帮助读者更好的理解Python的相关知识点。
后端
未读
Python Learn(四)
这篇文章介绍了Python中的模块、包的概念,以及如何导入模块和使用模块中的函数。此外,还讨论了Python中动态导入模块的方法,以及使用__future__模块来试用新的特性。另外,还介绍了安装第三方模块的方法,包括使用easy_install和pip。文章还详细解释了面向对象编程中的类属性、实例属性、以及访问限制的概念,同时介绍了如何定义实例方法和类方法。最后,文章还介绍了在Python中定义类属性和实例属性名字冲突的解决方法。
后端
未读
Python Learn(一)
本文主要介绍了Python的入门知识、变量和数据类型、以及集合类型List、Tuple、set、Dict的使用。在Python中,可以使用变量存储不同类型的数据,而List、Tuple、set和Dict则是Python中常用的集合类型。List是一种有序集合,可以随时进行增加和删除操作;Tuple是有序列表,一旦赋值即不能修改;set是一组不重复的无序元素集合;Dict则是键值对的映射关系。另外,文章也介绍了循环判断的几种语法,包括if、while和for。通过这篇文章,读者可以更好地了解Python中的基础知识和集合类型的使用。
后端
未读
实现Java加密,Python解密的非对称RSA功能
本文介绍了如何实现Java端进行加密,Python端进行解密的非对称RSA功能。在Java端使用的是RSA/ECB/OAEPWithSHA-256AndMGF1Padding算法对数据进行加密,而Python端使用RSA算法对加密数据进行解密。在Java端需要注意数据长度限制以及公钥格式是DER的问题,而在Python端需要注意Base64格式转换和换行符的处理。通过该功能可以实现跨语言的数据加解密操作,提供了Java和Python端的代码示例。详细代码请查看作者Github。
后端
未读
Python之多线程开发
该代码示例展示了在Python 2.7环境下如何利用多线程和多进程来提升程序执行效率。通过定义`file2transfer`类,实现了文件处理的并发操作。程序首先使用`multiprocessingPool`进行多进程分配,每个进程中又利用`ThreadPool`开启多个线程来并行执行`file_operation`方法,该方法针对每个文件执行具体操作(此处留作待实现)。特别地,为解决Python 2.7多线程存在的问题,采用了代理函数`proxy`和`proxy2`。此设计旨在通过并行处理加速文件的传输或转换等任务,理论上可使程序执行效率提升至少10倍,体现了多线程开发在提升IO密集型任务性能上的优势。
后端
未读
Python之Elasticesearch游标查询
在Python中,Elasticsearch游标查询是处理大量数据的有效工具。通过使用Elasticsearch库,可以实现滚动查询,允许在默认两分钟的游标过期时间内持续获取数据。这种查询方法适用于需要一次性处理大批量数据的场景,通过使用游标可以有效地管理和获取查询结果。代码示例展示了如何初始化Elasticsearch连接,并定义了一个方法`search_by_scroll_id`,该方法使用游标方式查询指定索引和文档类型的数据,并支持聚合语句以及自定义的时间范围过滤条件。通过这种方式,可以高效地处理和分析大规模数据集。
后端
未读
Python之子域名查询
这段Python代码实现了一个子域名查询工具,能够根据提供的主域名,在Bing搜索引擎上查找并收集相关的子域名及其页面标题。为了绕过搜索限制,它每次查询默认获取最多20条子域名记录(2页),利用requests库发起网络请求,并借助fake_useragent库随机变换User-Agent来模拟真实用户浏览器,同时使用BeautifulSoup解析返回的HTML内容,从而精准提取子域名链接和标题信息。最终,这些数据会被整理成字典形式返回,便于进一步分析或处理。
后端
未读
Python之端口检测
本文详细介绍了使用Python进行端口检测的方法。无论是输入IP地址还是域名,通过Python的Socket库和DNS解析模块,可以准确检测特定端口的开放状态。对于IP地址,直接使用Socket连接进行检测;对于域名,首先进行DNS解析获取关联的IP地址,然后再检测端口状态。这种方法非常适合网络管理和故障排除,能够帮助用户快速了解服务器或服务的可用性,是系统监控和安全检查中的有力工具。
后端
未读
Python之INI配置文件读写
该代码段展示了Python中操作INI配置文件的两个类:`get_ini`用于读取INI配置文件,而`write_ini`用于写入和修改INI配置文件。`get_ini`类提供了读取INI文件中sections、options、键值对及特定option值的功能;`write_ini`类则支持向INI文件添加section、删除section或option以及写入配置更改。此类工具的设计旨在简化对INI配置文件的管理,提高配置数据处理的灵活性与效率。通过实例化这些类并调用相应方法,开发者能够轻松地在Python应用程序中实现INI文件的读写操作。
后端
未读
Python之邮件发送
该Python脚本实现了通过SMTP协议发送邮件的功能,支持文本、超文本及多个附件的同时发送。配置详情如使用SMTP服务器`smtp.qq.com`,端口`465`针对腾讯邮箱服务,以及发件人和收件人的邮箱地址设定。邮件内容可包含纯文本与HTML格式,后者能够嵌入图片链接等丰富元素。此外,脚本设计了附加多个文件的功能,并通过MIME协议对附件进行正确编码和标注,确保接收方能识别并下载。安全方面,采用`SMTP_SSL`连接以加密通信,增强了邮件传输的安全性。用户只需修改`properties`类中的相应参数即可定制发送邮件的各项设置,最后调用`sendMail`函数执行邮件发送任务。此程序展现了Python在自动邮件通知及文件分享场景中的便捷应用。
后端
未读
Python之Email邮箱账号抓取
这段Python代码实现了通过关键字在搜索引擎上抓取特定邮箱后缀的账号信息。代码中使用了Fake User-Agent库生成随机User-Agent,并且使用BeautifulSoup库解析HTML内容,通过正则表达式匹配邮箱地址,最终返回抓取到的账号信息列表。代码中的示例关键字为"led",邮箱后缀为"qq.com",可根据需要修改关键字和邮箱后缀进行抓取。
后端
未读
Python之命令行参数生成
在Python脚本开发中,处理命令行参数灵活性至关重要,尤其是当无法预知用户传参顺序时。为解决这一问题,可采用一种机制,将传入的参数自动序列化为JSON对象,实现参数值的有序管理和便捷访问。以下Python代码片段展示了该方法的应用:首先定义一个空字典`params`用于存储参数键值对;接着,检查命令行参数数量,确保至少包含一对有效参数(索引从1开始,跳过脚本名);通过循环遍历参数列表,将奇数位置的元素作为键,其后紧邻的偶数位置元素作为值,存入字典。演示结果显示,无论参数如何排列,该方法都能准确捕获并组织参数,如仅运行脚本输出为空字典,携带`-d`标志则建立对应键值对,增加`-l`标志则进一步丰富字典内容,体现了对不定序命令行参数的有效管理与解析。
后端
未读
Python之DNS解析
这段代码实现了Python中对域名进行DNS解析的功能,主要包括A、MX、NS和CNAME四种类型的解析。其中,A类型解析是已经完整实现的,而其他三种类型的解析实现了基本过程,但组装过程需要用户自行完成。解析结果包含了对应的区域信息和运营商信息。
后端
未读
Python之Elasticsearch操作
在Python中,Elasticsearch游标查询是处理大量数据的有效工具。通过使用Elasticsearch库,可以实现滚动查询,允许在默认两分钟的游标过期时间内持续获取数据。这种查询方法适用于需要一次性处理大批量数据的场景,通过使用游标可以有效地管理和获取查询结果。代码示例展示了如何初始化Elasticsearch连接,并定义了一个方法`search_by_scroll_id`,该方法使用游标方式查询指定索引和文档类型的数据,并支持聚合语句以及自定义的时间范围过滤条件。通过这种方式,可以高效地处理和分析大规模数据集。
另外,Python操作Elasticsearch的示例代码展示了如何使用Python的elasticsearch库进行数据操作,包括查询数据、插入数据、删除数据等功能。通过构建DSL查询语句,可以灵活地从Elasticsearch中获取数据,并支持各种复杂的条件过滤和时间范围设置。这些功能使得Python成为处理和管理Elasticsearch数据的强大工具,在大数据量的场景中尤为有用。
这两个示例展示了Python与Elasticsearch结合使用的典型方法,为处理大规模数据集提供了便利和效率。