python
文章平均质量分 79
yongche_shi
这个作者很懒,什么都没留下…
展开
-
python正则表达式(三)
python正则表达式函数用法原创 2022-10-14 15:18:05 · 607 阅读 · 0 评论 -
python正则表达式(二)
Python 正则表达式 特殊字符原创 2022-10-13 17:08:44 · 3178 阅读 · 1 评论 -
python正则表达式(一)
Python的正则表达式使用的是re模块,re模块是python 的内置模块,不需要额外下载原创 2022-10-12 16:25:50 · 4164 阅读 · 0 评论 -
Django1.11升级到Django2.2.14
1、django自带的认证系统报错:修改:if user.is_authenticated:2、urlinclude模块报错:1) url(r'^admin/', include(admin.site.urls))'provide the namespace argument to include() instead.' % len(arg)django.core.exceptions.ImproperlyConfigured: Passing a 3-tuple..原创 2020-07-17 15:17:38 · 865 阅读 · 0 评论 -
Python 3.x可能是史上最详解的【导入(import)】
一旦使用多层文件架构就很容易遇上import的坑!哈哈。一、理解一些基本概念1、模块、包模块 module:一般情况下,是一个以.py为后缀的文件。其他可作为module的文件类型还有”.pyo”、”.pyc”、”.pyd”、”.so”、”.dll”,但Python初学者几乎用不到。module 可看作一个工具类,可共用或者隐藏代码细节,将相关代码放置在一个module以便让代码更好用、...转载 2019-11-08 10:39:05 · 1100 阅读 · 0 评论 -
Python程序的执行原理
1. 过程概述Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行。2. 字节码字节码在Python虚拟机程序里对应的是PyCodeObject对象。.pyc文件是字节码在磁盘上的表现形式。3. pyc文件PyCodeObject对象的创建时机是模块加载的时候,即import。Pyth转载 2016-01-20 17:59:56 · 434 阅读 · 0 评论 -
sys._getframe(0)的一些用法
sys._getframe(0) 为获取当前栈信息1、sys._getframe(0).f_code.co_filename # 当前文件名,也可以通过__file__获得2、sys._getframe(0).f_code.co_name # 当前函数名3、sys._getframe(0).f_lineno # 当前行号原创 2016-01-21 13:56:25 · 5926 阅读 · 0 评论 -
在python中获取当前位置所在的行号和函数名
对于python,这几天一直有两个问题在困扰我:1.python中没办法直接取得当前的行号和函数名。这是有人在论坛里提出的问题,底下一群人只是在猜测python为什么不像__file__一样提供__line__和__func__,但是却最终也没有找到解决方案。2.如果一个函数在不知道自己名字的情况下,怎么才能递归调用自己。这是我一个同事问我的,其实也是获取函数名,但是当时也是回答不出来。转载 2016-01-21 13:57:37 · 7227 阅读 · 1 评论 -
深刻理解Python中的元类(metaclass)
2014/08/10 · Python, 开发 · 15 评论 · metaclass, Python分享到:本文由 伯乐在线 - bigship 翻译。未经许可,禁止转载!英文出处:stackoverflow。欢迎加入翻译组。译注:这是一篇在Stack overflow上很热的帖子。提问者自称已经掌握了有关Python OOP编程中的各种概念,但始转载 2016-01-21 17:42:49 · 513 阅读 · 0 评论 -
python脚本导入mysql中文乱码
实际工作中经常会涉及到脚本导入数据到库中, 如果数据中有中文,搞不好会出现乱码问题。根据实际工作中的经验,为了避免乱码,总结了如下经验:以数据库编码为utf-8为例1、把导入文件修改成utf-8编码ue: 文件-转换-asc到utf82、脚本连接数据库使用utf-8编码MySQLdb.connect(host=hostname, user=username, passw原创 2016-01-12 11:46:34 · 1272 阅读 · 0 评论 -
python MySQLdb问题
python中连接数据库使用 MySQLdb包, 在Python中 import MySQLdb即可使用MySQLdb.connect() 方法用于连接数据库参数如下:host:MySQL服务器名user:数据库使用者password:用户登录密码db:操作的数据库名charset:使用的字符集(一般是gb2312)cursor = db.cursor() 其实就是用来获得原创 2016-01-14 11:29:32 · 492 阅读 · 0 评论 -
django.contirb.auth-认证
摘要 django自带了一个认证模块,它利用middlerware在request里增加了user属性,用来获取认证用户的信息。认证后台采用session存储。它自带的User模型,也可以支持自定义扩展。首先看middleware的定义:auth模块有两个middleware:AuthenticationMiddleware和SessionAuthenticationM转载 2016-04-07 16:03:59 · 474 阅读 · 0 评论 -
python+Tornado + Supervisor + nginx部署
转载声明:http://blog.163.com/wangkangming2008@126/blog/static/78277928201252092612850/1.安装python 2.6.6wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgztar -xvzf Python-2.6.6.tgzcd Pytho转载 2015-12-15 11:51:11 · 935 阅读 · 0 评论 -
django log(续 续)
前文提到django log输出问题, 经过一段时间测试,发现采用mlogging模块还是有问题, 经常莫名其妙的出现log断行,断行后当前log不写文件, 直到午夜切割log后, 才会写人新的log文件。 最后决定抛弃mlogging 模块, 采用logging的WatchedFileHandler来处理log,切割采用脚本实现,使用crontab每天执行切割。原创 2015-11-27 11:08:30 · 472 阅读 · 0 评论 -
如何像Python高手(Pythonista)一样编程
最近在网上看到一篇介绍Pythonic编程的文章:Code Like a Pythonista: Idiomatic Python,其实作者在2006的PyCon会议后就写了这篇文章,写这篇文章的主要原因是作者发现很多有经验的Pythoner写出的代码不够Pythonic。我觉得这篇文章很不错,所以将它用中文写了下来(不是逐字的翻译,中间加了一些自己的理解),分享给大家。另:由于本人平时时间有转载 2015-12-11 13:30:52 · 2567 阅读 · 0 评论 -
Python多进程不要使用TimedRotatingFileHandler
在一个多进程的程序中使用TimedRotatingFileHandler, 以自动的切分日志.运行一段时间后, 发现有大量的日志丢失, 并且程序报下面的异常Traceback (most recent call last): File "/home/work/python27/lib/python2.7/logging/handlers.py", line 77, in emi转载 2015-11-17 17:05:35 · 9786 阅读 · 0 评论 -
Python单例模式终极版
如果你真的想使用其他编程语言中类似的“单例模式”,你需要看:http://blog.csdn.net/ghostfromheaven/article/details/7671853http://ghostfromheaven.iteye.com/blog/1562618但是,我要问的是,Python真的需要单例模式吗?我指像其他编程语言中的单例模式。转载 2015-11-02 13:57:05 · 357 阅读 · 0 评论 -
Python单例模式的4种实现方法
#-*- encoding=utf-8 -*- print '----------------------方法1--------------------------' #方法1,实现__new__方法 #并在将一个类的实例绑定到类变量_instance上, #如果cls._instance为None说明该类还没有实例化过,实例化该类,并返回 #如果cls._insta转载 2015-11-02 13:55:31 · 348 阅读 · 0 评论 -
Python 多进程日志记录
刚开始用 Python 做 web 开发的时候我就想一个问题,如果 Python 应用需要自己记录一些比 accesslog 更详细的日志(使用 Python 的 logging module),又有多个进程,怎么办最好呢?多个进程往同一个日志文件写入会不会出问题?最近有个在 Apache 里用 mod_wsgi 运行的程序,设置了4个 process. 最初没有设置日志的 rotation,转载 2015-11-17 15:50:56 · 4515 阅读 · 0 评论 -
Django运行方式及处理流程总结
之前在网上看过一些介绍Django处理请求的流程和Django源码结构的文章,觉得了解一下这些内容对开发Django项目还是很有帮助的。所以,我按照自己的逻辑总结了一下Django项目的运行方式和对Request的基本处理流程。一、Django的运行方式运行Django项目的方法很多,这里主要介绍一下常用的方法。一种是在开发和调试中经常用到runserver方法,使用D转载 2015-10-30 16:23:15 · 1609 阅读 · 0 评论 -
Django 源码小剖: 应用程序入口 WSGIHandler
WSGI 有三个部分, 分别为服务器(server), 应用程序(application) 和中间件(middleware). 已经知道, 服务器方面会调用应用程序来处理请求, 在应用程序中有真正的处理逻辑, 在这里面几乎可以做任何事情, 其中的中间件就会在里面展开.Django 中的应用程序任何的 WSGI 应用程序, 都必须是一个 start_response(status,转载 2015-10-30 14:18:49 · 652 阅读 · 0 评论 -
mysql外键创建失败的问题
开发中使用django框架, 连接mysql数据库, 建了些model, 使用python manage.py migrate时报错如下:django.db.utils.IntegrityError: (1215, 'Cannot add foreign key constraint')首先使用SHOW ENGINE INNODB STATUS\G; 找到LATEST FOR原创 2016-04-29 14:02:35 · 8057 阅读 · 1 评论 -
Python Web框架Tornado运行和部署
本文实例为大家分享了Python Web框架Tornado运行和部署的详细内容,供大家参考,具体内容如下一、运行和部署因为Tornado内置了自己的HTTPServer,运行和部署它与其他Python web框架不太一样。你需要写一个main()函数来启动服务,而不是配置一个WSGI容器来运行你的应用:?1234转载 2016-07-23 14:18:18 · 10372 阅读 · 0 评论 -
pyinstaller+python3.6搭建windows客户端的服务(一)
背景 本人遇到一个项目,需求是实现一个客户端界面,该客户端可读取摄像头、读卡器这些本地设备,同时也需要访问云服务器的公共服务,安装程序包尽量小,且安装简单。 针对这种需求,当然会有很多种解决方法,比如使用c#、VB、Java等开发语言,是可以实现的,但选择使用Python的原因如下:本项目里成员对上述语言不喜欢或使用不太熟,而对Python相对比较熟; 上述语言在客户安装时可能会比...转载 2019-04-17 14:39:19 · 1286 阅读 · 0 评论 -
redis 写入带宽报警问题解决
项目中一直使用celery来做异步任务的执行, broker使用的是redis。 最近每天都会有几次redis(带宽10M)写入带宽超过80%报警, 报警的时候查看redis log 没有发现大量数据写入。经过仔细查看发现大量下面的消息:这条命令应该是celery在 subscribe result(猜测, 具体逻辑不清楚)。 celery result 里存储了40w+的数据, ...原创 2019-04-04 16:40:11 · 2367 阅读 · 0 评论 -
服务器升级带来的问题
系统环境: CentOS release 6.8 8核16G使用的服务:nginx+uwsgi+celery+redis+mysql+mongo由于业务的需要,升级到16核32G, 升级后启动服务报错:can't start new thread。开始一直以为是程序的问题, 经过各种搜索,修改,问题依旧。 后来发现原来是系统设置的问题, 我们是在非root用户下启动的服务。root用...原创 2018-11-09 22:32:28 · 993 阅读 · 0 评论 -
django migrate报错
django migrate命令默认会去settings文件中找default数据库的配置。 在migrate的帮助中可以看到。今天换了新的数据库配置, 将原来的default 修改成old_default(其实old_default库已经弃用, 根本就连接不上了,只是想留个备份)。换完配置后重新做django migrate。 竟然报错, 发现还是去连接old_default库了。 刚开...原创 2018-09-05 12:29:24 · 629 阅读 · 0 评论 -
django发送邮件
django封装了python自带的发送邮件的功能, 使其更加简单易用。1、settings中进行配置EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'EMAIL_USE_TLS = TrueEMAIL_HOST = 'smtp.163.com'EMAIL_PORT = 465EMAIL_HOST原创 2017-11-30 18:35:45 · 850 阅读 · 0 评论 -
使用 Django 1.6 实现事务交易管理
如果你花费了很多的时间去进行Django数据库事务处理的话,你将会了解到这是让人晕头转向的。在过去,只是提供了简单的基础文档,要想清楚知道它是怎么使用的,还必须要通过创建和执行Django的事务处理。这里有众多的Django事务处理的名词,例如:commit_on_success , commit_manually , commit_unless_maneged,rollback_转载 2017-08-21 11:02:08 · 696 阅读 · 0 评论 -
配置Django框架为生产环境的注意事项(DEBUG=False)
问题描述:Django1.10版本中框架中settings.py配置文件配置文件settings.py配置了下面两项:DEBUG= FalseALLOWED_HOSTS = ['*'] #这样可以让所有来源的ip访问到后台使用 python3 manager.py runserver后访问,发现没有css,js样式。网上查询得知:Django 关闭DEBUG模式后,转载 2017-08-08 10:20:07 · 1188 阅读 · 0 评论 -
Django自定义http header
项目需要在http header加上自定义内容, 后台使用Django。 用postman添加header后发送请求, 在request中没有发现自定义的内容,开始怀疑是postman没有成功添加自定义header内容, 于是用python requests包写请求发送, 还是没有发现, 最后去查Django发现了秘密。 Django将所有http header(包括自定义的)的内容都放到了原创 2017-06-23 11:53:03 · 4988 阅读 · 1 评论 -
django用户表扩展
Django中用户表的扩展方法网上已经说得很多了, 大体有四种方法,本文针对继承AbstractUser的方法来说明。使用Django1.11.2步骤如下:1、建立model,继承AbstractUserfrom django.db import modelsfrom django.contrib.auth.models import AbstractUserclass Us原创 2017-06-16 14:22:53 · 2427 阅读 · 0 评论 -
Nginx Image 缩略图模块
接前篇blog讲解nginx image模块的使用,该模块同时支持nginx和tengine本nginx模块主要功能是对请求的图片进行缩略/水印处理,支持文字水印和图片水印。支持自定义字体,文字大小,水印透明度,水印位置。判断原图是否是否大于指定尺寸才处理。 ....等等 环境:centos6.8.11、编译nginx编译前请确认您的系统已经安装了libcurl-dev l原创 2016-12-22 14:44:50 · 2132 阅读 · 0 评论 -
nginx搭建文件服务器
接前篇blog《nginx搭建文件服务器获取上传进度》,这篇blog主要讲文件下载。如果下载不需要权限控制, 那么就简单了,直接用nginx提供静态文件下载就可以了,可是大部分场景是需要权限判断的。后台准备用tornado框架来实现。这样做意味着我们的程序需要将文件内容从磁盘经过一个固定的 buffer 去循环读取到内存,再发送给前端 nginx 服务器,最后才到达用户。当需要下载的文件很原创 2016-12-21 16:37:34 · 9607 阅读 · 0 评论 -
Tornado 多进程 & 异步
基本版:#coding=utf-8import tornado.webimport tornado.httpserverimport tornado.optionsimport tornado.ioloopfrom tornado.options import options , definedefine("port",default=8001,help="跑在8001",ty转载 2016-12-16 15:48:09 · 7031 阅读 · 0 评论 -
tornado连接mysql
Tornado参考链接:http://demo.pythoner.com/itt2zh/index.html环境:centos 6.7, tornado 4.4.2,python 3.5.11、 MySQLdbPython 2.x 上连接MySQL的库比较多,其中比较著名就是MySQLdb, 大名鼎鼎的Django项目都使用它。地址见:http://sourceforge.ne原创 2016-12-13 18:06:52 · 8061 阅读 · 1 评论 -
nginx搭建文件服务器获取上传进度
接上篇blog,主要讲讲获取上传进度的实现。 参考地址:https://github.com/masterzen/nginx-upload-progress-module按照其中的说明配置nginx,将其中的例子存成test.html文件。放到nginx 的html目录下。 浏览器运行发现进度条不会变。 经过调试,发现nginx中缺少如下配置:test.html里面缺少修改后重原创 2016-12-06 17:40:29 · 5456 阅读 · 0 评论 -
nginx搭建文件上传下载服务器
最近要搭建文件一个服务器, 准备使用python的web框架tornado来做。发现了这篇blog,准备使用nginx来实现文件上传和下载的功能。下面把实现步骤记录下来,中间有很多坑。系统环境:centos6.81、下载nginxwget http://nginx.org/download/nginx-1.10.2.tar.gz2、下载nginx upload module原创 2016-12-02 19:03:49 · 21835 阅读 · 2 评论 -
Python Import机制备忘
Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import最近在看《Python源码剖析》,对Python内部运行机制比以前了解的更深入了,感觉自己有机会也可以做个小型的动态脚本语言了,呵呵,当然是吹牛了。目的当然不是创造一个动态语言,目的只有一个:更好的使用Python。看到模块导入那块的时候,终于对模块导入机制比较了解了,以转载 2016-07-16 14:51:02 · 271 阅读 · 0 评论 -
Django 源码小剖: Django 中的 WSGI
Django 其内部已经自带了一个方便本地测试的小服务器, 所以在刚开始学习 Django 的时候并不需搭建 apache 或者 nginx 服务器. Django 自带的服务器基于 python wsgiref 模块实现的, 其百分之七八十的代码都是 wsgiref 中的代码, 只重写了一部分, 所以 Django 自带的服务器测试写个 helloworld 就好了.Django 内置服转载 2015-10-30 14:15:48 · 617 阅读 · 0 评论