本文原创并首发于公众号【Python猫】,未经授权,请勿转载。原文地址:https://mp.weixin.qq.com/s/-f...Python是一门强大的动态语言,那动态体现在哪里,强大又体现在哪里呢?除了好的方面,Python的动态性是否还藏着一些使用陷阱呢,有没有办法识别与避免呢?沿着它的动态特性话题,猫哥有几篇文章依次探及了:动态修改变量、动态定义函数、动态执行代码等内容,然而,当混合了变量赋值、动态赋值、命名空间、作用域、函数的编译原理等等内
系统 2019-09-27 17:55:00 2108
前言最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧。示例代码:#-*-coding:utf-8-*-'''获取当前日期前后N天或N月的日期'''fromtimeimportstrftime,localtimefromdatetimeimporttimedelta,dateimportcalendaryear=strftime("%Y",localtime())mon
系统 2019-09-27 17:54:18 2108
本函数可以使用参数real+imag*j方式创建一个复数。也可以转换一个字符串的数字为复数;或者转换一个数字为复数。如果第一个参数是字符串,第二个参数不用填写,会解释这个字符串且返回复数;不过,第二个参数不能输入字符串方式,否则会出错。real和imag参数可以输入数字,如果imag参数没有输入,默认它就是零值,这个函数就相当于int()或float()的功能。如果real和imag参数都输入零,这个函数就返回0j。有了这个函数,就可以很方便地把一个列表转
系统 2019-09-27 17:53:57 2108
代码如下fromfake_useragentimportUserAgentfromlxmlimportetreeimportrequests,osimporttime,re,datetimeimportbase64,json,pymysqlfromfontTools.ttLibimportTTFontua=UserAgent()classCustomException(Exception):def__init__(self,status,msg):self
系统 2019-09-27 17:53:51 2108
getpwname只能得到gid一个username。importpwdmyGroupId=pwd.getpwnam(username).pw_gidgetgroups只能获取groups脚本用户。importosmyGroupIds=os.getgroups()我怎么能得到所有groups的任意一个username,比如id-Gn命令?id-Gn`whoami`解决方案#!/usr/bin/envpythonimportgrp,pwduser="myna
系统 2019-09-27 17:53:36 2108
在日常PC端的Python爬虫过程工作中,Chrome浏览器是我们常用的一款工具。鉴于Chrome浏览器的强大,Chrome网上应用商店很多强大的插件可以帮助我们快速高效地进行数据爬虫。今天推荐的6款Chrome插件,可以大大提升我们的爬虫效率。EditThisCookieEditThisCookie是一个Cookie管理器,可以很方便的添加,删除,编辑,搜索,锁定和屏蔽Cookies。可以将登录后的Cookies先保存到本地,借助cookielib库,直
系统 2019-09-27 17:53:24 2108
在C++11和C#中都有匿名函数的存在。下面看看在python中匿名函数的使用。1.lambda只是一个表达式,函数体比def简单很多。2.lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。3.lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。例1.定义一个lambda表达式,求三个数的和#-*-coding:UTF-8-*-f=lambdax,y,z:x+y+zprintf(1,2
系统 2019-09-27 17:53:21 2108
在上一篇文章中,我们讲了如何在linux上用python写一个守护进程。主要原理是利用linux的fork函数来创建一个进程,然后退出父进程运行,生成的子进程就会成为一个守护进程。细心观察的可能会发现,这个守护进程的运行身份是执行这个程序的用户,如果把这个守护程序加入到系统的服务项,那么这个守护程序的执行身份应该是root。一个情况出现了,root的权限比较大,如果通过这个root身份的守护程序来进行操作,危险性是比较大的。一种好的办法是生成一个身份为ro
系统 2019-09-27 17:52:32 2108
最近学习了python基础,写一下3大排序练练手:复制代码代码如下:'''Createdon2013-8-23@author:codegeek'''//冒泡排序defbubble_sort(seq):foriinrange(len(seq)):forjinrange(i,len(seq)):ifseq[j]
系统 2019-09-27 17:52:28 2108
MongoDB是目前最流行的NoSQL数据库之一,使用的数据类型BSON(类似JSON)。1.安装Mongodb和pymongoMongodb的安装和配置Mongodb的安装教程请网上搜索,安装完成后,进行以下配置过程:1.1创建目录,该目录为Mongodb数据文件的存放目录:*注:本人使用的不是root用户,所以修改目录的拥有者.*sudomkdir/datasudochown-Rpython:python/datamkdir/data/db1.2分别执
系统 2019-09-27 17:52:16 2108
Python是一门非常酷的语言,因为很少的Python代码可以在短时间内做很多事情,并且,Python很容易就能支持多任务和多重处理。py1、关键代码可以依赖于扩展包Python使许多编程任务变得简单,但是对于很关键的任务并不总是提供最好的性能。使用C、C++或者机器语言扩展包来执行关键任务能极大改善性能。这些包是依赖于平台的,也就是说,你必须使用特定的、与你使用的平台相关的包。简而言之,该解决方案提供了一些应用程序的可移植性,以换取性能,您可以获得只有通
系统 2019-09-27 17:51:50 2108
简介这篇博文和分类看似没有多大关系,但是也是从上一篇衍生出来的产物,因为涉及到FQ工具Lantern,就算是给关注和支持的小伙伴们拓展一下眼界和知识面。而且好多人都阅读了上一篇没发现那个参考博客点不开吗?那是因为还没来的急,整理和编写,今天再试一下就可以。一个软件可能占用多个端口拥有多个目标IP,下面以FQ工具Lantern为例,说明端口查看方法:1.借助第三方软件查看如果你电脑上安装了360等优化工具,可能会自带查看网络状况的插件如下图:2.命令行窗口查
系统 2019-09-27 17:51:27 2108
本文实例为大家分享了python中的代码行数统计,供大家参考,具体内容如下思路:统计文件中代码的总行数减去空行单行注释以及多行注释功能:1.获取文件内容的总行数2.排除空行单行注释多行注释defcode_statistics(path):##打开这个文件withopen(path,'r',encoding='utf-8')asopenFile:#按列读取fileline=openFile.readlines()#给非代码行一个变量i=0#整个文件里面内容的
系统 2019-09-27 17:51:02 2108
学了一个多月的python,做了一个小程序:python实现简单成绩录入系统,实验一下menu部分fromtkinterimport*#这是一个python模块,python3中都有importtkinter.messagebox#这也是一个模块fromfile_readimportreadfromfile_writeimportwriteclassstudent_main():#定义一个学生类def__init__(self):self.name=''s
系统 2019-09-27 17:50:34 2108
迭代器和可迭代对象由for循环的内部原理说起list01=[2,434,5,6,8]foriteminlist01:print(item)大家有没有想过list类型对象为什么可以被for循环呢?能够被for循环的条件是:它是可迭代对象(iterable)。那么什么是可迭代对象呢?参考一下内置函数item()的官方说明文档:iter(object[,sentinel])返回一个iterator对象。根据是否存在第二个实参,第一个实参的解释是非常不同的。如果没
系统 2019-09-27 17:50:22 2108