最近新需求来了,要给系统增加几个资源权限。尽量减少代码的改动和程序的复杂程度。所以还是使用装饰器比较科学之前用了一些登录验证的现成装饰器模块。然后仿写一些用户管理部分的权限装饰器。比如下面这种defpermission_required(permission):defdecorator(f):@wraps(f)defdecorated_function(*args,**kwargs):ifnotcurrent_user.can(permission):ab
系统 2019-09-27 17:55:30 2133
Python传入参数的方法有:位置参数、默认参数、可变参数、关键字参数、和命名关键字参数、以及各种参数调用的组合写在前面Python唯一支持的参数传递方式是『共享传参』(callbysharing)多数面向对象语言都采用这一模式,包括Ruby、Smalltalk和Java(Java的引用类型是这样,基本类型按值传递)共享传参是指函数的各个形式参数获得实参中各个引用的副本;也就是说,函数内部的形参是实参的别名(alias)这种方案的结果是,函数可能会修改作为
系统 2019-09-27 17:55:23 2133
总是记不住API。昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧:python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.i
系统 2019-09-27 17:55:05 2133
1.以前的方法如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数。如果是要获得当前执行的脚本的所在目录位置,那么需要使用sys模块的sys.path[0]变量或者sys.argv[0]来获得。实际上sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事因为Python会自动把sys.argv[0]加入sys.path。具体来说,如果你在C:\test目录下执行p
系统 2019-09-27 17:54:47 2133
使用pythonbrew复制代码代码如下:easy_installpythonbrew[root@li637-23schirm]#pythonbrew_installWell-done!Congratulations!Thepythonbrewisinstalledas:/root/.pythonbrewPleaseaddthefollowinglinetotheendofyour~/.bashrc[[-s"$HOME/.pythonbrew/etc/ba
系统 2019-09-27 17:54:27 2133
本文实例讲述了Python采用socket模拟TCP通讯的实现方法。分享给大家供大家参考。具体实现方法如下:对于TCPserver端的创建而言,分为如下几个步骤:创建socket对象(socket):其中两个参数分别为AddressFamily(如AF_INET为IPV4,AF_INET6为IPV6,AF_UNIX为UNIX域协议族)、socket类型(如SOCK_STREAM为TCP,SOCK_DGRAM为UDP)。绑定服务器地址(bind):参数为服务
系统 2019-09-27 17:54:21 2133
简单来说python的内存管理机制有三种1)引用计数2)垃圾回收3)内存池接下来我们来详细讲解这三种管理机制1,引用计数:引用计数是一种非常高效的内存管理手段,当一个pyhton对象被引用时其引用计数增加1,当其不再被引用时引用计数减1,当引用计数等于0的时候,对象就被删除了。2,垃圾回收(这是一个很重要知识点):①引用计数引用计数也是一种垃圾回收机制,而且是一种最直观,最简单的垃圾回收技术。在Python中每一个对象的核心就是一个结构体PyObject,
系统 2019-09-27 17:54:17 2133
1下载sublimetext3(不要下载最新版Version:Build3207不好找licence)https://www.unyoo.com/2320.html(参考这个,需要指定版本windows或mac的可以看这个)https://download.sublimetext.com/sublime_text_3_build_3200_x64.tar.bz2(我用的是这个版本)放到ubuntu里面,解压tar-xvfsublime_text_3_bui
系统 2019-09-27 17:54:03 2133
函数的作用域python中的作用域分4种情况:L:local,局部作用域,即函数中定义的变量;E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的;G:globa,全局变量,就是模块级别定义的变量;B:built-in,系统固定模块里面的变量,比如int,bytearray等。搜索变量的优先级顺序依次是:作用域局部>外层作用域>当前模块中的全局>python内置作用域,也就是LEGB。local和enclos
系统 2019-09-27 17:53:09 2133
Python是静态作用域语言,尽管它自身是一个动态语言。也就是说,在Python中变量的作用域是由它在源代码中的位置决定的,这与C有些相似,但是Python与C在作用域方面的差异还是非常明显的。接下来会谈论Python的作用域规则,在这中间也会说明一下Python与C在作用域方面的不同。在Python2.0及之前的版本中,Python只支持3种作用域,即局部作用域,全局作用域,内置作用域;在Python2.2中,Python正式引入了一种新的作用域---嵌
系统 2019-09-27 17:52:41 2133