本文用作记录,在使用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拼接字符串与变量、字符串推导
领取专属 10元无门槛券
私享最新 技术干货