Pytho 常见模块 / 用法备忘录
个人备忘,仅供参考
- 格式化输出
- 基础用法
- 对齐与填充占长
- 基本结构
- 精度与宽度
- 基本结构
- import相关
- 模块导入
- 模块使用
- pickle相关
- 导出到文件
- 从文件导入
- 多线程子线程参考写法
- todo:
- ~~threading\ subprocess\ multiprocess~~
- ~~多线程通信~~
格式化输出
基础用法
a = 3.232421 # float type
print(f"a = {a}")
# Out: a = 3.232421
对齐与填充占长
基本结构
print(f"a = {a:x>8}")
[变量名] : [填充字符] [对齐方向] [长度]
填充字符:可为空,默认为空格。
对齐方向:< 、 ^、 >分别代表左对齐、居中、右对齐
长度:总长度
Example:
a = 3.21 # float type
print(f"a = {a:>8}")
# Out: a = 3.21
a = 3.21 # right align
print(f"a = {a:x>8}") # right align, with 'x' paded in
# Out: a = xxxx3.21
a = 3.21 # float type
print(f"a = {a:^8}")
# Out: a = xx3.21xx
精度与宽度
基本结构
print(f"a = {a:10.3f}")
[变量名] : [字符长度] [小数点精度]
a = 3.21 # float type
print(f"a = {a:10.3f}")
# a = 3.210
结合一下之前的填充和对齐,可以做出这样的效果:
a = 3.21 # float type
print(f"a = {a:j<10.3f}") # total len: 10, pad: 'j', precision:3, left align
# a = 3.210jjjjj
最后一个字符f代表的是浮点数。需要了解的朋友参考一下c语言。一般来说,不用关心。
import相关
模块导入
import time
import sys
# etc
导入本地不同aaa.py文件也是一样的步骤:
import aaa # ./aaa.py
如果不在相同目录,则需要加入如下步骤:
import sys
sys.path.append("abc/")
import aaa # ./abc/aaa.py
# another example
import sys
sys.path.append("../")
import aaa # ../aaa.py
模块使用
import aaa
ret = aaa.foo()
这个其实挺简单的。但我每次都会忘记加包名
pickle相关
导出到文件
import picklewith open('filename', 'wb') as f:pickle.dump(data_to_dump, f) # data can be any type
从文件导入
import picklewith open('filename', 'wb') as f:ret = pickle.load(f)
多线程子线程参考写法
subThread.py
import trace
import threading
import time
class traceThread(threading.Thread):
def __init__(self, name, etc): super().__init__() self.killed = Falsedef start(self): self.__run_backup = self.run self.run = self.__run threading.Thread.start(self) def __run(self): sys.settrace(self.globaltrace) self.__run_backup() self.run = self.__run_backup def globaltrace(self, frame, event, arg): if event == 'call': return self.localtrace else: return Nonedef localtrace(self, frame, event, arg): if self.killed: if event == 'line': raise SystemExit() return self.localtrace def kill(self): self.killed = Truedef func(self):
while True: print('thread running')
注意使用的时候,target需要指定,而不能是默认的run()。即:
t1 = traceThread(target = func)
如果对即时性要求不高,或需要本轮循环必须完成,也可以参考下面的写法:
PS: 这个也提供诸如pause、resume的方法。
class subThread(threading.Thread): def __init__(self, name, etc): super().__init__() self.__alive = threading.Event()self.__running = threading.Event()self.__alive.set() self.__running.set() def run(self): while self.__alive.isSet():self.__running.wait() # return immitatly when True# Act like While 1#Set init value like n = 1#Running#clear this loop, like n += 1def stop(self):self.__alive.clear()self.__running.set()#other clearance, like fclose()
def pause(self):self.__running.clear()
def resume(self):self.__running.set()
暂时先这样,想到了会增加。欢迎各位补充。
todo:
threading\ subprocess\ multiprocess
多线程通信
Pytho 常见模块 / 用法备忘录相关推荐
- python crypt模块_Python常见加密模块用法分析【MD5,sha,crypt模块】
本文实例讲述了Python常见加密模块用法.分享给大家供大家参考,具体如下: 1. md5模块 md5.new([arg]) 返回一个md5对象,如果给出参数,则相当于调用了update(arg) m ...
- python数据分析报告的格式_Python数据报表之Excel操作模块用法分析
本文实例讲述了Python数据报表之Excel操作模块用法.分享给大家供大家参考,具体如下: 一 点睛 Excel是当今最流行的电子表格处理软件,支持丰富的计算函数及图表,在系统运营方面广泛用于运营数 ...
- python pillow库_python pillow模块用法
pillow Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库.pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持pytho ...
- thinkphp当前php路径,分析thinkphp常见路径用法分析
分析thinkphp常见路径用法分析 文章主要介绍了thinkphp常见路径用法,实例分析了__PUBLIC__.__ROOT__.__APP__.__URL__.__ACTION__及__SELF_ ...
- python中MySQLdb模块用法实例
篇文章主要介绍了python中MySQLdb模块用法,以实例形式详细讲述了MySQLdb模块针对MySQL数据库的各种常见操作方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了python中 ...
- 【Python笔记】datetime 模块用法
Python 中 datetime 模块用法 获取当前时间 使用strftime()格式化时间为标准格式 计算倒计时 计算未来时间 记录一下 python 中 datetime 模块的常见用法,无需死 ...
- Python入门(二十二)- 常见模块2(正则表达式及容器)
二十二 常见模块2(正则表达式及容器) 22.1 正则表达式及re模块 正则表达式(Regular Expression)用于描述一种字符串匹配模式(Pattern),它可以用于检查一个字符串是否含有 ...
- 第十章 python 常见模块
python 常见模块 一.sys模块 1. sys模块的作用 2. sys模块的参考页面: 3. sys模块中常用的属性和函数: 二.os模块 1. os模块的作用 2. os模块的参考页面: 3. ...
- Python入门(二十一)- 常见模块
二十一.常见模块 上一章介绍了Python模块的相关知识,在实际开发中,Python的很多功能都已经有了成熟的第三方实现,一般不需要开发者"重复造轮子",当开发者需要完成某种功能时 ...
最新文章
- Struts2标签库
- python用os.system打开wav文件_使用python读取wav格式文件
- 免校准的电量计量芯片_万物互联,开启智慧计量新时代—2020年中国物联网计量创新发展论坛在济南举办...
- php post请求后端拿不到值_[精选] uniapp实现多端开发,与PHP是如何结合的
- SpringBatch 监听器之Job监听器(JobExecutionListener)和Step监听器(StepExecutionListener)(五)
- python删除链表中重复的节点_Java编程删除链表中重复的节点问题解决思路及源码分享...
- bootstrap中表格、修饰图片、浮动、背景框、提示框及关闭提示框、元素淡入淡出及jQuery中操作类名
- 是程序员就应该知道的东西
- linux修改文件权限和用户组管理小结
- MTK 驱动(80)---MTK平台User版本开机异常/无法开机,如何抓取log
- java 获取rss_如何使用java代码获取RSS中信息
- SpringBoot注解分析
- 如何使用gcc编译器
- 20155226-虚拟机与Linux之初体验
- eslint php,eslint配置
- (Windows) CodeBlocks 下载
- 不支持S/W HEVC(H265)解码的有效解决方案
- 复合调味品,是年轻人新的追逐吗?
- PMP备考大全:经典题库(7月第4周)
- 安装linux之后没有网