个人备忘,仅供参考

  • 格式化输出
    • 基础用法
    • 对齐与填充占长
      • 基本结构
    • 精度与宽度
      • 基本结构
  • 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 常见模块 / 用法备忘录相关推荐

  1. python crypt模块_Python常见加密模块用法分析【MD5,sha,crypt模块】

    本文实例讲述了Python常见加密模块用法.分享给大家供大家参考,具体如下: 1. md5模块 md5.new([arg]) 返回一个md5对象,如果给出参数,则相当于调用了update(arg) m ...

  2. python数据分析报告的格式_Python数据报表之Excel操作模块用法分析

    本文实例讲述了Python数据报表之Excel操作模块用法.分享给大家供大家参考,具体如下: 一 点睛 Excel是当今最流行的电子表格处理软件,支持丰富的计算函数及图表,在系统运营方面广泛用于运营数 ...

  3. python pillow库_python pillow模块用法

    pillow Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库.pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持pytho ...

  4. thinkphp当前php路径,分析thinkphp常见路径用法分析

    分析thinkphp常见路径用法分析 文章主要介绍了thinkphp常见路径用法,实例分析了__PUBLIC__.__ROOT__.__APP__.__URL__.__ACTION__及__SELF_ ...

  5. python中MySQLdb模块用法实例

    篇文章主要介绍了python中MySQLdb模块用法,以实例形式详细讲述了MySQLdb模块针对MySQL数据库的各种常见操作方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了python中 ...

  6. 【Python笔记】datetime 模块用法

    Python 中 datetime 模块用法 获取当前时间 使用strftime()格式化时间为标准格式 计算倒计时 计算未来时间 记录一下 python 中 datetime 模块的常见用法,无需死 ...

  7. Python入门(二十二)- 常见模块2(正则表达式及容器)

    二十二 常见模块2(正则表达式及容器) 22.1 正则表达式及re模块 正则表达式(Regular Expression)用于描述一种字符串匹配模式(Pattern),它可以用于检查一个字符串是否含有 ...

  8. 第十章 python 常见模块

    python 常见模块 一.sys模块 1. sys模块的作用 2. sys模块的参考页面: 3. sys模块中常用的属性和函数: 二.os模块 1. os模块的作用 2. os模块的参考页面: 3. ...

  9. Python入门(二十一)- 常见模块

    二十一.常见模块 上一章介绍了Python模块的相关知识,在实际开发中,Python的很多功能都已经有了成熟的第三方实现,一般不需要开发者"重复造轮子",当开发者需要完成某种功能时 ...

最新文章

  1. Struts2标签库
  2. python用os.system打开wav文件_使用python读取wav格式文件
  3. 免校准的电量计量芯片_万物互联,开启智慧计量新时代—2020年中国物联网计量创新发展论坛在济南举办...
  4. php post请求后端拿不到值_[精选] uniapp实现多端开发,与PHP是如何结合的
  5. SpringBatch 监听器之Job监听器(JobExecutionListener)和Step监听器(StepExecutionListener)(五)
  6. python删除链表中重复的节点_Java编程删除链表中重复的节点问题解决思路及源码分享...
  7. bootstrap中表格、修饰图片、浮动、背景框、提示框及关闭提示框、元素淡入淡出及jQuery中操作类名
  8. 是程序员就应该知道的东西
  9. linux修改文件权限和用户组管理小结
  10. MTK 驱动(80)---MTK平台User版本开机异常/无法开机,如何抓取log
  11. java 获取rss_如何使用java代码获取RSS中信息
  12. SpringBoot注解分析
  13. 如何使用gcc编译器
  14. 20155226-虚拟机与Linux之初体验
  15. eslint php,eslint配置
  16. (Windows) CodeBlocks 下载
  17. 不支持S/W HEVC(H265)解码的有效解决方案
  18. 复合调味品,是年轻人新的追逐吗?
  19. PMP备考大全:经典题库(7月第4周)
  20. 安装linux之后没有网

热门文章

  1. Java实训—VII,VIII
  2. AI智能视频分析系统提升水泥厂安全监管解决方案
  3. 联想拯救者Y7000P触摸板无法使用
  4. echarts 地图上如何打点
  5. 电脑发出很大的嗡嗡声_跟踪嗡嗡声的十大方法
  6. 购物网站的推荐算法-个性化推荐算法中如何处理买了还推
  7. excel如何晒出重复数据_怎么筛选出excel中重复数据
  8. 实体操盘手开发分销商城小程序商业模式解析
  9. 共射级放大电路—实现最大输出振幅的方法竟如此简单
  10. 高中计算机教学心得,高中教学心得随笔