Python 奇技淫巧

本文用作记录,在使用python过程中遇到的一些奇技淫巧,有些代码是本人所写,有些则是python内置函数,有些则取之互联网。在此记录,只为备份以及遗忘时方便查找。

本文将会持续更新,内容仅限记录一些常用好用却又永远记不住的代码或者模块。

控制台操作

控制台不闪退

获取控制台大小

输入输出控制

解决输入提示中文乱码问题

格式化输出

接受多行输入

同行输出

标准输入输出

颜色控制

控制台颜色控制(适用于windows)

输出颜色控制(全平台)

进度条控制

方案一

方案二

方案三

更多高级用法可以使用progressbar模块。

系统操作

系统信息

获取python安装路径

获取当前python版本

获取当前时间

查看系统环境变量

获取系统磁盘

获取当前路径(包括当前py文件名)

当前平台使用的行终止符

获取终端大小

退出程序

return:返回函数的值,并退出函数。

exit():直接退出。

sys.exit(): 引发一个SystemExit异常,若没有捕获错误,则python程序直接退出;捕获异常后,可以做一些额外的清理工作。

sys.exit(0):为正常退出,其他(1-127)为不正常,可抛异常事情供捕获。(一般用于主线程中退出程序)

os._exit(0): 直接退出python程序,其后的代码也不会执行。(一般用于线程中退出程序)

网络操作

域名解析为ip

获取服务器版本信息

文件操作

open函数,使用wb、rb代替w、r

这种写法可以兼容python2/3。

输出一个目录下所有文件名称

文件查找

查找指定名称的文件夹的路径

数据操作

判断数据类型

字符串(string)

字符串推导

format方法拼接字符串与变量

去掉小数点后面的数字

字符串倒置

字符串首字母变大写

返回一个字符串居中,并使用空格填充至长度width的新字符串。

列举所有字母

列表(list)

列表去重

判断列表为空

列表运算

单列表元素相加

多列表元素分别相加

将嵌套列表转换成单一列表

列表内元素相加

产生a-z的字符串列表

列表复制

列表推导

if+else配合列表解析

多层嵌套列表

生成一个生成器,调用next方法,可以减少内存开支。

字典推导

更换key与value位置

字典操作(dict)

筛选出值重复的key

字典排序(py2)

字典值判断

模块操作

导入模块时,设置只允许导入的属性或者方法。

导入上级目录下的包

导入外部目录下的模块

增加模块属性

然后当我们导入a这个模块的时候,可以输出dir(a)看看

动态加载一个目录下的所有模块

函数操作

eval/exec

输出:abc

说明:exec函数没有返回值

输出:abc

说明:eval函数有返回值

装饰器函数

输出当前时间装饰器

itertools迭代器reduce函数

函数本次执行的结果传递给下一次。

enumerate函数

输入列表元素以及序列号

函数超时时间设置

@于2017.05.27更新

利用signal设置某个函数执行的超时时间

函数出错重试

利用retrying模块实现函数报错重试功能

如果我们运行have_a_try函数,那么直到random.randint返回5,它才会执行结束,否则会一直重新执行,关于该模块更多的用法请自行搜索。

程序操作

@于2017.05.27更新

Ctrl+C退出程序

利用signal实现ctrl+c退出程序。

程序自重启

利用os.execl方法实现程序自重启

时间墙

@2017.04.19创建此文

@2017.04.24增加eval/exec函数

@2017.05.27增加程序操作、函数超时、函数出错重试

@2017.08.24增加format拼接字符串与变量、字符串推导

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180408G1F5T200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励