Python学习记录

Python的创始人为
吉多·范罗苏姆
(Guido van Rossum)

    Python英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种面向对象直译式电脑程序语言。它包含了一组功能完备的标准库,能够轻松完成很多常见的任务。它的语法简单,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    与SchemeRubyPerlTcl动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的操作系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。

    Python的官方解释器是CPython,该解释器用C语言编写,是一个由社区驱动的自由软件,目前由Python软件基金会管理。

Python支持命令式程序设计面向对象程序设计函数式编程面向侧面的程序设计泛型编程多种编程范式。

使用 BlockingScheduler 指定时间运行程序

2023年02月18日

我们在 Python 中写一个服务,需要每天固定一个时间运行,例如:每天早上5点钟,我们可以使用 BlockingScheduler 来设置定时器。在 Python 中使用 BlockingScheduler 来定时运行程序,需要安装 apscheduler 库。接下来,可以通过编写以下代码来设置每天 5 点运行程序的定时任务:from apscheduler.schedulers.blockin...

如何高效的识别出网络爬虫

2023年02月18日

网络爬虫是一种自动化程序,可以在互联网上自动抓取信息。以下是一些识别网络爬虫的方法:访问频率:网络爬虫通常以非常高的频率访问网站,以便快速地抓取大量的数据。如果你注意到一个IP地址在短时间内多次访问你的网站,那么很可能是一个网络爬虫。用户代理:网络爬虫通常使用一些自己的用户代理(User Agent),可以通过检查HTTP请求头中的用户代理来判断是否是网络爬虫。速度:网络爬虫通常下载页面的速度很快...

flask 的 current_app 如何理解

2023年02月13日

current_app 是 Flask 框架内部定义的一个特殊对象,用于代表当前请求所在的 Flask 应用程序。它是一个全局代理对象,在整个请求生命周期内都可以通过它访问应用程序对象。current_app 的主要用途是,当多个 Flask 应用程序实例在一个进程内部同时运行时,可以使用 current_app 在处理请求过程中确定当前请求所属的 Flask 应用程序,并访问该应用程序的配置、日...

Python中的单例模式的几种实现方式的及优化

2023年02月13日

单例模式单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 App...

Redis 复用连接池

2023年02月13日

在每次使用 Redis 都进行连接的话会降低 Redis 的效率,都知道 Redis 是基于内存的数据库,效率超高,所以每次进行连接比真正使用消耗的资源和时间还多。所以为了节省资源,减少多次连接损耗,连接池的作用相当于缓存了多个客户端与 Redis 服务端的连接,当有新的客户端来进行连接时,此时,只需要去连接池获取一个连接即可,实际上连接池就是把一个连接共享给多个客户端,可以说是广播,要用的话就去...

Python 如何删除指定目录下所有文件

2023年02月07日

如果我们使用 Python 删除指定目录下面的所有文件,下面是示例代码:import os def delete_files_in_dir(dir_path): for filename in os.listdir(dir_path): file_path = os.path.join(dir_path, filename) try: ...

Flask 上传文件

2023年02月03日

上传文件

Flask request.args.get ‘+’ 转义相关问题总结

2023年01月03日

今天在处理查询的时候,出现了一些 user-agent 无法被查询到的情况,但是直接查询数据库,却是可疑查得到。下面是前端提交查询的一个例子:return this.http.get<AccessLogModel>(`${this.requestIPCrawler}/suspicious?ua=${ua}`, { headers: new HttpHeaders().set('Authori...