
Python
文章平均质量分 56
常城
系统架构师,游戏编程十余年。写过多套游戏框架,技术涉及端游、页游、手游。热爱技术、热爱游戏、热爱生活、热爱一切美好事物。因为热爱,所以投入!
展开
-
python调用hanlp的API,顺道对比java代码
hanlp里,可以对句法做分析。想省事,就直接调用hanlp的接口就行了。python代码如下:import requestsdef test_api(): # 输入参数见: https://www.hanlp.com/HanLPfile/admin.html data = { 'text': "张老师教我语文", } token = "你的token" # token在hanlp官网里获取 headers_dic = {原创 2022-01-21 18:28:18 · 1539 阅读 · 0 评论 -
分词jieba和LAC的对比使用记录
就为了尝试对比jieba和lac,折腾了一天。记录一下。出于项目需要,打算采用LAC作为主要分词工具了。jieba首先说一下jieba,这个安装使用都比较简单,推荐的也比较多,比如在《python中文自然语言处理基础与实战》一书中,就是推荐了jieba。重要依赖包:paddle-tiny。 但是paddle-tiny最后更新于2019年,有点旧。比lac强的是,安装简单一点,lac的安装坑简直是让我无语。比lac弱的是,没有重要性标注(目前我没发现这个功能)。LAC安装说原创 2022-01-18 20:08:17 · 2331 阅读 · 0 评论 -
调用腾讯云的语音识别(一句话识别)接口-Python版
浪费了2个多小时去调试,所以记录一下代码。接上文,可以直接利用上一篇文章里,返回的音频数据,再传回给腾讯接口,进行识别。# ################################## Copyright(C) 2012-2017# Environment: python 3.9.7# Package: -# D&P Author By: 常成功# Create Date:原创 2021-12-24 14:49:20 · 4182 阅读 · 0 评论 -
接入腾讯云语音合成技术TTS, 把返回的音频数据存储成MP3文件
最近研究TTS,找了好多个,最后还是觉得腾讯云这个,从音质到人声素材数量,到价位,综合考虑是最优的,所以就尝试写了个接入。下面为测试代码,用python写的,把接口返回的数据,直接存成MP3文件了。参照了两个比较重要的API文档:语音合成API:语音合成 基础语音合成 - API 文档 - 文档中心 - 腾讯云签名方法:语音合成 签名方法 - 调用方式 - API 中心 - 腾讯云直接上代码:# ##################################原创 2021-12-09 19:29:26 · 4519 阅读 · 0 评论 -
游戏敏感词屏蔽词过滤
基础语言知识,由于有太多的教程和文章,还有书籍,所以本文略过。原创 2021-07-21 11:41:40 · 7811 阅读 · 0 评论 -
Centos 8.2 安装 Python 3.10.1
本文使用源码安装Python。原创 2020-09-22 14:58:51 · 2143 阅读 · 0 评论 -
Python版_自动定时截屏_PIL
在网上找了10多分钟自动截屏软件,都不太合适,甚至有的还带毒!掐指一算,写个这软件也就十几分钟,不找了,干脆自己写一个。目标功能:1,自动截屏、2,可设定截屏间隔、3,按天自动分文件。基于python2.7完整代码如下,加上运行测试,耗时19分钟:#! /usr/bin/env python# coding=utf-8# ==============================# Describe: 后台自动定时截屏# D&P Author:原创 2020-07-07 15:09:43 · 3042 阅读 · 2 评论 -
Django报错:No translation files found for
下午在一台win10系统的开发机上,爆出了一个这样的错误:No translation files found for 犯懒,上网查解决方案,结果都不对。最后发现是win10的System进程(PID为4)占用了80端口所致。解决办法:改注册表释放80端口,或者django启动的时候,设置为其他端口。比如8080原创 2016-05-03 17:53:53 · 3092 阅读 · 0 评论 -
PyCharm 教程(六)自定义文件模板
pycharm默认的【新建】文件,格式很不友好,比如我们要指定文件编码方式,指明解释器路径(比如同时安装了多个版本的python),那么就需要改一下文件模板。具体步骤是: 【File】-->【Settings...】, 打开设置界面后,在搜索处,输入File,然后在搜出来的结果处,点击【File and Code Templates】,选择对应要建立的文件,之后就可以改新原创 2016-03-16 17:13:25 · 25805 阅读 · 2 评论 -
PyCharm 教程(五)断点 调试
PyCharm 作为IDE,断点调试是必须有的功能。否则,我们还真不如用纯编辑器写的快。【运行】和【调试】前的设置,详见前面的文章,helloword。1,设置断点在代码前面,行号的后面,鼠标单击,就可以设置断点。如下:2,调试 断点点击那个绿色的甲虫图标(似乎甲虫已经成为debug专用图标了),进行断点调试。点击后,会运行到第一个断原创 2013-07-18 16:01:36 · 268435 阅读 · 35 评论 -
PyCharm 教程(四)显示行号
在PyCharm 里,显示行号有两种办法:1,右键单击行号处,选择 Show Line Numbers。但是这种方法,只对一个文件有效,并且,重启编辑器后消失。1,永久设置。File --> Settings -->Editor -->Appearance , 之后勾选Show Line Numbers。原创 2013-07-18 15:23:30 · 144109 阅读 · 5 评论 -
PyCharm 教程(三)Hello world!
作为PyCharm编辑器的起步,我们理所当然的先写一个Hello word,并运行它。(此文献给对IDE不熟悉的初学者)1,新建一个项目File --> New Project... 2,新建一个文件右键单击刚建好的helloWord项目,选择New --> Python File3,输入文件名输入文件名,没什么好说的4,进入原创 2013-07-18 15:09:38 · 239102 阅读 · 19 评论 -
pycharm 教程(二)设置字体大小
pycharm 是很好的一个IDE,在windows下,和macOS下,都能很好的运行。唯一缺点是启动慢。默认字体太小,找了半天才找到设置,记录下来: Settings-->Editor-->Colors & Fonts-->Font原创 2013-03-05 19:30:24 · 190389 阅读 · 14 评论 -
PyCharm 教程(七)管理解释器及第三方模块、包
pycharm可以很方便的管理Python的解释器(如果安装了多个的话),以及第三方模块,包。它会自动连接pypi,去获取当前该模块的最新版本号。具体步骤是: 【File】-->【Settings...】, 打开设置界面后,在搜索处,输入interpreter ,然后在搜出来的结果处,点击【Project Interpreter】。后面的就不用我多说了,一看即懂。原创 2016-03-16 17:21:32 · 45054 阅读 · 0 评论 -
RemovedInDjango110Warning
Django项目,把django从1.7升级到1.9后,大量报错。需要做如下修改。1,修改urls.py:在django1.9里,urls的配置不再支持字符串型的路由。需要先import,然后直接引用。更加清晰。比如:urlpatterns = patterns('', url(r'^test/', 'httpServer.views.hello原创 2016-01-04 18:52:58 · 8000 阅读 · 0 评论 -
升级win10后Django报错[Errno 10013]
升级win10之后,django项目忽然启动不了,报错Error: [Errno 10013] 。如图因为没有检测到语法错误,怀疑可能是端口占用,换了个端口试了下,可以启动。证明是80端口问题。然后在cmd中,使用 netstat -ano 发现是PID为4的进程,占用了80端口:打开任务管理器,发现PID为4的,是SYSTEM进程……原创 2015-08-12 16:38:53 · 4050 阅读 · 0 评论 -
Centos+nginx+uwsgi+django
■ 安装uwsgi:安装uwsgi,请看我上一篇文章。■ 配置uwsgi:由于我们使用django,所以配置一个能跟django进行关联的ini:■ Nginx配置:nginx安装不在叙述,这里主要讲如何更改nginx.conf:location / { include uwsgi_params;原创 2015-02-26 11:24:29 · 3461 阅读 · 1 评论 -
Python版代码混淆工具
写在前面: 代码混淆,其实很简单。原理就是查找、替换而已。市面上有很多混淆工具,最好是在混淆工具的基础上,自己再写一下,二次混淆。算法也不难。如果需要全局混淆,以及自动混淆,那么就复杂一些了,需要再加上词法分析和语法分析。如何使用:1,首先得安装Python。2,把这个下面这个 confuse.py 文件,复制目标文件夹。3,更改 raw_name_lis原创 2014-12-22 19:06:41 · 9849 阅读 · 2 评论 -
'utf8' codec can't decode byte
文件导致原创 2014-06-16 15:52:51 · 72123 阅读 · 5 评论 -
django的时区(时间)问题
在一台系统时间正常的linux服务器上,启动django后,发现打印的时间不正常。Quit the server with CONTROL-C.[23/Apr/2014 06:22:48] "GET / HTTP/1.1" 302 0[23/Apr/2014 07:14:53] "GET / HTTP/1.0" 302 0[23/Apr/2014 07:24:33] "GET /原创 2014-04-23 15:38:03 · 7267 阅读 · 0 评论 -
No module named _sqlite3
在linux机器上,运行django,报错:No module named _sqlite3 解决:1,首先安装转载 2014-04-23 14:14:17 · 17485 阅读 · 0 评论 -
Python性能(二)random性能
在编写的很多程序中,都会用到随机数。那么,Python的随机数性能如何原创 2014-05-06 10:13:58 · 3257 阅读 · 1 评论 -
python性能优化
性能的优化,无非是从两个方面做。一方面是架构上的优化,使用更高性能的架构;另一方面就是从代码层面,更改代码的写法、算法,从而进行优化。 在我看来,不同的程序员,由于思想的不同、性格的不同,写出来的程序,也一定不同。好的代码,应该是一件艺术品,应该是精雕细琢、巧夺天工的。这样才会有最优雅的外观,最强大的性能。下面就一点点说明,如何将python的性能,从代码层面,提高一倍、十倍、甚至百倍原创 2013-02-28 14:12:13 · 5266 阅读 · 3 评论 -
RuntimeWarning: Parent module 'settings' not found while handling absolute import
运行一个脚本,产生如下报错:RuntimeWarning:Parent module 'settings' not found while handling absolute importimport os检查代码逻辑,觉得没有问题。只好上网查解决办法,查到这么一段:就是用imp导入模块的时候,不要加 "点"。 Don't include a '.' aft原创 2016-07-22 17:04:19 · 4319 阅读 · 1 评论 -
Apache ab使用POST参数进行压力测试 (服务端为Django)
写在前面: 近日要上线一个基于HTTP协议的游戏,所以要测一下压力。 想到ab测试是比较简便的,所以用ab来测试,但是问题来了,POST参数接不到。几经测试,才发现传递POST参数的方法。 安装ab:win下直接使用Apache的工具,centos下:yum -y install httpd-tools 传递POST参数的步骤:1,新建一个文件,...原创 2016-07-07 15:04:51 · 39669 阅读 · 3 评论 -
pip 国内镜像源
ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.直接使用pip安装,由于连接国外,很慢,并且经常断链,导致无法正常安装扩展包。所以使用-i参数,指向国内源。阿里的还是挺好用的:https://mirrors.aliyun.com/pypi/s...原创 2018-07-30 18:11:08 · 3408 阅读 · 0 评论 -
django时区设置-python时区timezone字段
全球化运营,需要不同时区。但是,有的时候,不知道时区的字段怎么写。比如,为什么北京时间,可以写成 'Asia/Shanghai' ?为啥这么写,python和Django才认?TIME_ZONE = 'Asia/Shanghai'换一个时区,比如美国东部时间,这个字段要怎么写,python和Django才认? 找了半天,原来这样可以查看所有时区的字段:>>> fro...原创 2018-07-26 11:27:49 · 4361 阅读 · 0 评论 -
Centos 7 安装python2.7.11
新装2.7.11可能会出现这两个错误:No module named yumNo module named urlgrabber.grabber先去python主站下载python的源码包:Python-2.7.11.tar.bz2安装:tar jxvf Python-2.7.11.tar.bz2cd Python-2.7.11./configure原创 2016-05-20 16:55:14 · 5084 阅读 · 2 评论 -
pycharm 教程(一)安装和首次使用
pycharm 是我用过的python编辑器中,比较顺手的一个,而且跨平台,macos和windows下面都可以用,这点比较好。安装首先去下载最新的pycharm 2.7.3,进行安装。可以直接在官网下载。2.7.3的破解方式:网上找的激活码:user name: EMBRACEkey:14203-120420100000107Iq75C621P7X1SFn原创 2013-07-18 12:03:53 · 758981 阅读 · 37 评论 -
python随机数分布random均匀分布
因为概率问题,所以需要测试一下python的随机数分布。到底是平均(均匀)分布,还是正态(高斯)分布。结果是:平均(均匀)分布。原创 2017-10-26 10:49:30 · 28018 阅读 · 0 评论 -
ImportError: No module named incremental
更新twisted 17.0 后,报了这个错:ImportError: No module named incremental解决:去pypi 搜一个incremental,安装即可。或者pip安装。原创 2017-08-12 16:48:14 · 3863 阅读 · 0 评论 -
Python-Snappy的安装 以及报错解决
直接使用pip install ,会报错: cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ snappymodule.cc:31:22: error: snappy-c.h: No such file or directory原创 2017-04-14 15:25:28 · 17290 阅读 · 1 评论 -
Mac os 升级 python
Mac是自带python的。但是大家可能会象我一样嫌版本低(低版本会有很多问题,比如没有pip)。我们可以手动升级,其实很简单。首先登录python的官方下载地址:http://www.python.org/download/在里面会找到最新的mac版本,点击下载。下载下来发现居然是dmg格式,也就是说,mac最简单的安装。一路点下去就行!原创 2012-03-13 16:28:18 · 5024 阅读 · 0 评论 -
nginx+uwsgi+django的Https通信
写在前面: 由于苹果商店(App Store),从2017年开始,要求APP的HTTP通信,必须转为HTTPS,所以,我们需要把原来的架构(nginx+uwsgi+django),变为走https的。方法:■ 方法一(通过Nginx 实现):1,创建一个目录,保存证书和私钥。(也可以放到其他目录下)mkdir /home/key_dir进入这个目录原创 2017-01-17 16:41:07 · 8096 阅读 · 0 评论 -
fatal error: Python.h: No such file or directory
装一台新服务器环境的时候,装uwsgi报错:plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory #include 查了一下解决办法:yum install python-devel.x86_64之后再运行安装,问题解决。原创 2017-03-13 18:06:13 · 19092 阅读 · 0 评论 -
python读取excel(读写处理xls或xlsx)
前言在很多应用场景中,程序都需要读取excel的配置。比如,在游戏中,数值策划用excel 建好了数值表,我们要导入到游戏中。概述这里我使用了 pyexcel-xls 这个东西。我个人觉得这个东西导出的数据结构,结构可读性很强,数据结构如下:整个excel文件,转化为一个字典结构:每个key就是一个子表(Sheet)每个子表(Sheet),转化为一个二维数组原创 2015-04-09 11:36:48 · 127468 阅读 · 22 评论 -
使用Python和C#对比跨语言压缩算法库LZ4, Snappy, LZO, gzip, glib
写在前面: 在游戏编程中,数据的处理部分,经常会遇到这样的需求: 1,服务器端(后端)传给客户端(前端)的数据需要压缩,以节省流量,加速游戏数据通信效率。 2,这种压缩/解压算法(库)必须尽量少的占用CPU资源,也就是说,压缩解压都要快!游戏卡不得! 3,这种压缩/解压算法(库)需要跨语言(有点像网络协议)。因为大多数情况下,后端和前端不是一种开发语言。原创 2017-04-14 12:37:38 · 7995 阅读 · 8 评论 -
python的日志logging模块性能以及多进程
写在前面: 日志是记录操作的一种好方式。但是日志,基本都是基于文件的,也就是要写到磁盘上的。这时候,磁盘将会成为一个性能瓶颈。对于普通的服务器硬盘(机械磁盘,非固态硬盘),python日志的性能瓶颈是多少呢?今天我们就来测一下。 测试代码如下:#! /usr/bin/env python#coding=utf-8# ======================原创 2016-08-02 15:42:08 · 7998 阅读 · 1 评论 -
Python操作redis(二)hash类型
■ 写在前面: 前面讲的基本的键值对操作,好处是方便,高效。但是,在某些应用中,比如把一个UID作为键,USER对象作为值存进去,USER对象内有大量属性(比如name,age等等),这时候如果要取其中的某条属性,就需要把整个USER对象取出来,看上去是十分浪费I/O的。 redis的散列类型(HASH)可以解决这个问题,只取出你想要的属性值,好处非常明显。坏处是,除了基本的键原创 2016-08-05 15:53:27 · 28258 阅读 · 1 评论 -
uWSGI的安装与配置(官网摘录)
■ 安装uwsgi:作为一个严谨(其实就是有强迫症)的程序,为了确保正确安装这个东西,费了我好长时间。首先,查找包里的readme,发现没有安装提示。各种被墙,辗转良久,才查看到uwsgi的官方文档说明:http://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.html 所以,也就有了本文。言归正传,下面是 uwsgi原创 2015-02-25 18:18:25 · 82997 阅读 · 8 评论