Python学习记录

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

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

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

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

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

Flask Jinja2显示float数据相关问题

2021年07月26日

最近使用Jinja显示百分比数据,但是显示的有问题,具体显示结果如下:注意:这里黄色荧光笔是存在问题的显示结果,这里应该显示7.0%和14.0%,但是却显示成上面的样子,实际的数字是0.07和0.14,具体代码如下:<td class="table-cell">{{ calc_item.packet_loss_rate * 100 }}%</td>这里将结果乘以100,加上百分号,看起来没有问题,...

SQLAlchemy 设置多列复合索引

2021年07月22日

最近项目上线之后,有一个功能对数据库的数据查询非常慢,项目使用的是腾讯的数据库产品,腾讯云数据库控制台诊断优化提示了如何优化数据。主要是给3列增加索引,按照提示修改数据库,直接使用SQL的方式增加索引。但是项目使用的是SQLAlchemy 模型映射,对应的模型也需要增加索引,否则后面更改模型,一不小心会把索引给删除。就像下面的语句:op.drop_index('index_0', table_na...

(MySQLdb._exceptions.OperationalError) (1142, "CREATE command denied to user ''@'' for table ''")

2021年07月16日

最近在使用SQLAlchemy初始化数据库的时候,出现了如下错误提示:sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1142, "CREATE command denied to user 'User'@'1.1.1.1' for table 'alembic_version'")出现以上错误的原因...

Flask如何获取referrer

2021年07月14日

最近在Flask中需要获取referrer,具体获取方式如下:referrer = request.headers.get("Referer")或者使用Flask的快捷方式:referrer = request.referrer参考资料:1、Get referring URL for Flask request

Python项目中使用dotenv

2021年07月14日

最近在开放项目的时候,有一些配置以前直接卸载代码中,导致后面需要修改需要找很久到底是那个文件,时间一长导致很多项目很难维护。使用python-dotenv可以很方便的管理配置文件。下面是使用python-dotenv的示例:def __init__(self): dotenv_path = os.path.join(os.path.dirname(__file__), '.env') ...

python 进程内存增长问题, 解决方法和工具

2021年07月13日

最近由于Python服务在Linux上长期运行,导致占用内存非常多,一直找不到问题出在哪里。这篇文章详细介绍了如何使用工具排查存在的问题,文章地址:python 进程内存增长问题, 解决方法和工具

Python 将string转换为bytes

2021年07月13日

最近在使用RabbitMQ传输队列的消息的时候,消息需要使用bytes方式传输,我已经将消息转换成json,下面是示例代码:# 将告警的消息发送给服务器msg = {"ip": remote_ip, "url": uri, "user_agent": user_agent, "referrer": referrer, "error_message": str(error_message...

error: invalid command 'bdist_wheel'

2021年07月12日

今天在使用虚拟环境安装软件依赖包的时候出现如下问题: error: invalid command 'bdist_wheel' ---------------------------------------- ERROR: Failed building wheel for user-agents具体截图如下:出现问题的原因:没有安装wheel软件包。解决方案:安装wheel软件包,执行如下...