
python
文章平均质量分 51
火烧尾
青春已逝,科比逝去------ 一切都在变化,唯有你 coding...
展开
-
insightface遇到的坑
1、Compile with USE_CUDA=1 to enable GPU usage【原因】安装的是cpu版的mxnet,不是gpu版的;【解决方法】 卸载cup版mxnet,如果使用的cuda-9,则pip install mxnet-cu90; 使用了cuda-10则pip install mxnet-cu1002、CUDA: invalid device ordinal【原因】...原创 2019-06-30 14:25:28 · 2900 阅读 · 0 评论 -
设计模式 (python) ---> Singleton
代码:class Singleton(object): _inst = None def new(cls): if cls._inst is None: inst = object.new(cls)原创 2015-04-29 10:27:36 · 677 阅读 · 0 评论 -
python django
1、django install : python setup.py install 测试: import django 2、创建项目 django-admin.py startproject project_name 3、修改设置 vim setting.py,可以设置database,时区,默认语言, 添加模块installed_apps –>’bl原创 2015-04-18 19:13:17 · 691 阅读 · 0 评论 -
Python 查找指定文件夹下的所有路径
import os.path as ospEnumTypes=(list,tuple)def _getsubdirs(prefdirs, others, maxdepth=5): """Returns the list of subdirectories of 'prefdirs' and 'others' up to 'maxdepth'. Note that 'prefdirs转载 2015-03-12 13:57:45 · 1310 阅读 · 0 评论 -
python tarfile模块
tarfile模块的主要作用是用来加压缩和解压缩文件,其压缩文件的类型可以是.tar | .tar.gz | .tgz | .tar.bz2 等import osimport tarfile加压:tar = tarfile.open("/tmp/test.tar.gz","w:gz")for root,dir,files in os.walk("/home/red/原创 2015-03-12 11:34:38 · 7314 阅读 · 0 评论 -
python 内置函数getattr
在工作中遇到这个函数,没想起来再哪碰到过,一找让我惊讶啦,这个函数好强大。下面简单介绍一起其用法。1、获取类变量class A: a = 1getattr(A,'a') == 12、 获取类函数class B: def funb(): print 'abc'getattr(B,'funb')>'abc'3、貌似还可以实现工厂模式(例子来自网上,没验证原创 2015-03-19 16:56:12 · 1384 阅读 · 0 评论 -
python optparser模块
optparser模块的作用是用于命令行参数处理先给个简单的例子:from optparse import optionParserparser = OptionParser(usage="usage: yourscript %prog [options] [install | test]",version=" 0.0.1")parser.add_option("--prefix",d原创 2015-03-16 10:25:40 · 736 阅读 · 0 评论 -
python 版本
获取python的版本号import syspython_version = '.'.join([str(n) for n in sys.version_info[:3]])原创 2015-03-16 10:03:18 · 528 阅读 · 0 评论 -
python log文档
在使用python的过程中,错误检查一直都是个大难题,这里提供一种打印log文件的方式,即记录python运行过程的文档,能够有效的帮助你定位错误代码:import mprintlogfile = 'setup.log'log = mprint.MPRINT(logfile,'w')log._print("error")可以再你需要的任何地方使用log._print()原创 2015-03-12 10:50:28 · 671 阅读 · 0 评论 -
c中获取python的异常的traceback
1、如果是一般的控制台程序,可以使用PyErr_Print();错误信息会直接打印到控制台上 2、如果不是控制台程序,则需要使用PyErr_Fetch(PyObject**,PyObject**,PyObject**,PyObject**) 下面是代码实例:(来自Stack Overflow) char* full_backtrace; // 保存tracebac原创 2015-04-28 15:37:55 · 3140 阅读 · 0 评论 -
Python---很强悍的property,绝对的强大
转自:http://www.cnblogs.com/lovemo1314/archive/2011/05/03/2035600.html 假设定义了一个类:C,该类必须继承自object类,有一私有变量_x class C: def init(self): self.__x=None 1.现在介绍第一种使用属性的方法: 在该类中定义三个函数,分别用作赋值、取值和删除转载 2015-05-14 12:00:09 · 773 阅读 · 0 评论 -
python的多线程编程 --- thread模块
1、使用thread模块(不推荐) 常用函数: ‘start_new_thread(function,args,kwargs=None)’:创建一个新的线程,并运行’function(args)’ ‘allocate_lock()’: 创建锁对象 Lock object ‘exit()’: 提示线程退出 Lock的函数: ‘acquire(wait=None)’: 获取lock对象或等待翻译 2015-06-23 12:07:38 · 1529 阅读 · 0 评论 -
面向对象编程---函数
1、在python的面向对象编程中,经常需要在类中创建静态方法staticmethod()或者 类方法classmethod(),如:class TestMethod: def foo(): print 'calling static method foo()' foo = staticmethod(foo) def bar(): print转载 2015-07-20 14:22:28 · 361 阅读 · 0 评论 -
新式类的高级特性<1>
1、__slots__类属性 __dict__属性跟踪所有的实例属性,但其会占据大量内存。如果一个类的属性数量较少,且不会 动态添加属性,我们可以使用__slots__代替__dict__,例子:class SlottedClass(object): __slots__=('foo','bar')c = SlottedClass()c.foo = 42转载 2015-07-21 08:25:48 · 451 阅读 · 0 评论 -
python的私有化
1、双下划线(__) 由双下划线开始的属性在运行时被混淆,所以直接访问是不允许的。实际上以双下划线开始的属性 会在解释时在前面加上下划线和类名,如self.__num会被解析为self._className__num, 2、单下划线(_) 简单的模块级私有化只需要在属性名前使用一个单下划线字符。这可以防止模块的属性被 from mymodule import原创 2015-07-20 15:45:04 · 1568 阅读 · 0 评论 -
迭代器和iter()函数
1、先来个例子,有个初步的印象:myTuple=(123,'xyz',45.67)i=iter(myTuple)i.next()123i.next()'xyz'i.next()45.67i.next()Traceback (most recent call last):File "", line 1, in?StopIteration上面的代码中通过iter()函数显式的使用了原创 2015-07-17 14:20:25 · 2990 阅读 · 0 评论 -
函数调用参数列表---元组、字典
在python中通过一个元组或字典作为参数组传递给函数时,其传入的参数的个数是任意的。 1、基本形式func(*tuple_grp_nonkw_args,**dict_grp_kw_args)感觉有点像c语言中的指针变量,其中tuple_grp_nonkw_args是元组形式的非关键字参数组,而 dict_grp_kw_args则是装有关键字参数的字典。 2、使用def func(*tuple原创 2015-07-17 14:44:56 · 1368 阅读 · 0 评论 -
出乎意料的else语句
在python中你可能时不时不碰到else语句用在while和for循环中,请不要惊讶,先看看它的作用吧! 实际上在循环语句中,else子句只会在循环完成后执行,即跳出循环的操作,如break,同时也会跳过 else块。 下面是一个来自python核心编程的例子def showMaxFactor(num): count = num/2 while count > 1:原创 2015-07-17 13:54:11 · 577 阅读 · 0 评论 -
深拷贝、浅拷贝
(内容大多来自python核心编程) 创建一个python对象然后把它赋给另一个变量时,python仅仅是拷贝了这个对象的引用。 序列类型(字符串、列表和元组)的默认拷贝类型是浅拷贝,具体的施行方式有三种: 1、完全切片操作[:];2、利用 工厂函数,比如list(),dict()3、使用copy模块的copy函数person=['name',['savings',100.00]]hubby原创 2015-07-17 11:44:03 · 693 阅读 · 0 评论 -
python多线程编程----threading模块
1、threading 模块中的内容 - Thread: 一个可执行线程对象 - Lock: 原始的Lock对象 与thread模块中一样 - RLock: 允许单个线程多次请求的Lock - Condition: 线程等待直到条件满足 - Event : 事件发生时,唤醒所有等待进程 - Semaphore:信号量,标翻译 2015-06-23 14:14:36 · 1378 阅读 · 0 评论 -
python 读取配置文件的值
上例子:假设配置文件如下,文件名为test.cfg#------------------------------------#abcdefgabc = 1#-----------------------------------------其中的#号后面的部分都是注释读入该文件的python代码为:from types import ModuleType原创 2015-03-16 11:03:42 · 955 阅读 · 0 评论 -
python写的一个时钟程序(指针类的)
import sysfrom PyQt4.QtCore import *from PyQt4.QtGui import *class clock (QWidget): def __init__(self): QWidget.__init__(self,windowTitle="python clock") timer = QTimer(self)转载 2014-06-23 16:59:15 · 3605 阅读 · 0 评论 -
新手写Python 第二篇(运算符和变量)
运算符:除去标准运算符外,Python提供了两个其它的运算符://: 真正的除法,不管操作数的类型,对结果进行四舍五入。**:乘方运算符print -2*4 + 3** 2Python 也支持标准比较运算符,比较运算返回True或false同时Python还支持3 Python 也提供逻辑运算符:and or not------原创 2013-10-21 11:37:13 · 692 阅读 · 0 评论 -
新手学python 第五篇 Python基础
一、语句和语法基本规则和特殊符号: # : 注释 ; : 将两个语句连接在一行中 :: 将代码块的头和体分开 语句(代码块): 缩进方式体现,不同的缩进深度分割不同的代码块,同 组的代码必须严格左对齐,随着缩进深度的增加,代码 块的层次也在加深,没有缩进的代码块是最高层次的,原创 2013-10-21 16:46:09 · 886 阅读 · 0 评论 -
新手学Python 第四篇(函数、类、模块)
文件和内建函数open()、file()打开文件handle = open(file_name,access_mode = 'r')file_name :文件名access_mode: 'r' 读取\'w' 写入\'a' 添加\'+' 读写\'b' 二进制返回文件对象句柄filename = raw_input('Enter file name:')fo原创 2013-10-21 15:20:19 · 754 阅读 · 0 评论 -
新手学python 第三篇(结构语句)
if语句:if expression: if_suite;如果表达式为true,则代码组if_suite被执行;代码组是由一条或多条语句组成的子代码块。例: if x print ' "x" must be atleast 0!' elif x > 0: print ' "x" must be atmost 0!' els原创 2013-10-21 13:54:56 · 662 阅读 · 0 评论 -
新手学Python 第十四篇 网络编程(一)
socket模块函数tcpSock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)创建一个TCP/IP的套接字udpSock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)创建一个UDP/IP的套接字函数 描述服务器端套接字函数原创 2013-10-25 10:08:55 · 687 阅读 · 0 评论 -
新手学python 第十五篇 网络编程(二)
*SocketServer模块SocketServer模块的类 描述BaseServer 包含服务器的核心功能与混合类的钩子功能TCPServer/UDPServer 基本的网络同步TCP/UDP服务器UnixStreamSerer/UnixDatagramServer 基于文件同步TCP/UDP服务器Forking原创 2013-10-25 11:43:32 · 763 阅读 · 0 评论 -
新手学python 第一篇(基础)
首先相信只有你想不到的,没有python做不到python是一种解析性语言,意味着开发过程中没有编译这个环节,python实际上是字节编译的,其结果就是可以生成一种近似机器语言的中间形式。python源文件通常用.py扩展名。当源文件被解释器加载或者显示地进行字节编译的时候会被编译成字节码。由于调用解析器的方法不同,源文件会被编译成带有.pyc或.pyo扩展名的文件。原创 2013-10-21 10:34:51 · 783 阅读 · 0 评论 -
新手学python 第十三篇 正则表达式
正则表达式使用的特殊符号和字符literal 匹配字符串的值 | 或操作. 匹配除换行符外的任意一个单个字符[] 匹配方括号里的任何一个字符 - 匹配一个字符的范围^ 不匹配指定字符集中里的任意字符+ 匹配原创 2013-10-25 09:05:40 · 922 阅读 · 0 评论 -
新手学Python 第十六篇 多线程(一)
全局解释器锁(GIL):保证多线程的执行导入线程模块>>> import thread模块函数 描述start_new_thread(function,args, 创建一个新的线程,function为线程kwargs=None) 函数,kwargs表示参数,可选alloca原创 2013-10-28 11:46:55 · 630 阅读 · 0 评论 -
新手学python 第七篇(列表)
创建列表:手工写一个列表:>>>aList = [123,'abc',4.56,['inner','list'],7-9j][123,'abc',4.56,['inner','list'],(7-9j)]工厂方式创建:>>>list('foo')['f','o','o']访问列表:切片操作更新列表:1、元素追加 append(原创 2013-10-22 16:40:14 · 623 阅读 · 0 评论 -
新手学Python 第九篇 集合
集合的创建:创建集合只有一个方法:集合工厂set()\frozenset() 可变\不可变>>> s = set('cup')>>> s set(['p','c','u'])>>> f = frozenset('cba')>>> ffrozenset(['a','b','c'])集合的访问:1、遍历查看>>> for i in s: pr原创 2013-10-23 09:12:47 · 734 阅读 · 0 评论 -
python pickle
python的pickle模块:python数据持久存储python通过pickle模块可以进行序列法和反序列化操作,所谓序列化就是:能够将程序中运行的对象信息保存到文件中,永久保存;而反序列化则是:从文件中创建上一次程序保存的对象基本接口是1、pickle.dump(obj,file,[,protocol]) 将对象obj保存到文件file中 obj:对象名 fi转载 2014-03-28 10:58:57 · 869 阅读 · 0 评论 -
python 加压/解压 zip(zipfile模块的使用)
使用python对zip文件进行操作,其关键的模块式zipfile模块加压部分:import zipfilef = zipfile.ZipFile(sourcefileURL,'w',zipfile.ZIP_DEFLATED)f.write(filename,file_url)f.close()ZIP_DEFLATED 表示打包并压缩;ZIP_STORE:表示仅打包转载 2014-03-27 15:14:43 · 1135 阅读 · 0 评论 -
新手学Python 第十一篇 函数(一)
内部/内嵌函数在函数体内创建另外一个函数,这种函数叫做内部/内嵌函数。如:def foo(): def bar(): print 'bar() called' print 'foo() called' bar()内部函数的整个函数体都在外部函数的作用域内。如果没有任何对bar()的外部引用,那么除了在函数体内,任何地方都不能对其进原创 2013-10-24 08:02:58 · 567 阅读 · 0 评论 -
新手学Python 第十篇 异常
异常是程序出现错误而在正常控制流以外采取的行动。异常可以通过try语句来检测。任何在try语句块里的代码都会被监测,检查有无异常发生。try语句有两种主要形式:try-except 和 try-finally两者的区别:1、两个语句互斥,只能使用其中一种;2、一个try语句可以对应一个或多个execpt子句,但只能对应一个finally子句3、使用try原创 2013-10-23 16:25:39 · 637 阅读 · 0 评论 -
新手自学Python 第八篇 字典
字典是Python语言中唯一的映射类型。字典类型和序列类型容器类的区别是存储和访问数据的方式不同。映射类型可以用其他类型做键,同时映射类型中的数据使无序排列的。字典的创建和赋值:创建一个字典只需要把字典赋值给一个变量:>>> dict1 = {}>>> dict2 = {'name':'earth','port':80}>>> dict1,dict2({},原创 2013-10-23 08:23:04 · 630 阅读 · 0 评论 -
新手学Python 第六篇(Python的对象)
Python使用对象模型来存储数据。构造任何类型的值都是一个对象。所有的Python对象都拥有三个特性:身份,类型和值。身份: 每个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到。可以认为是该对象的内存地址。类型: 可以使用内建函数type()查看Python对象的类型。注意:因为Python中类型也是对象,所以原创 2013-10-22 11:09:37 · 692 阅读 · 0 评论 -
新手学Python 外篇一 队列的实现
queue = []def enQ(): queue.append(raw_input('Enter new string:').strip())def deQ(): if len(queue) == 0: print 'Cannot pop from an empty queue!' else: print 'Removed[',qu原创 2013-10-29 09:10:24 · 697 阅读 · 0 评论