博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struct与subprocess 模块
阅读量:5239 次
发布时间:2019-06-14

本文共 1161 字,大约阅读时间需要 3 分钟。

struct模块

pack

用于将Python的值根据格式符,转换为字符串(因为Python中没有字节(Byte)类型,可以把这里的字符串理解为字节流,或字节数组)。其函数原型为:struct.pack(fmt, v1, v2, …),参数fmt是格式字符串,v1, v2, …表示要转换的python值。

res = struct.pack("i", 45)print(res, len(res))运行结果:b'-\x00\x00\x00' 4
格式符 C语言类型 Python类型  
x pad byte no value  
c char string of length 1  
b signed char integer  
B unsigned char integer  
? _Bool bool  
h short integer  
H unsigned short integer  
i int integer
I unsigned int integer or long  
l long integer  
L unsigned long long  
q long long long  
Q unsigned long long long  
f float float  
d double float  
s char[] string  
p char[] string  
P void * long

 

unpack

unpack做的工作刚好与struct.pack相反,用于将字节流转换成python数据类型。它的函数原型为:struct.unpack(fmt, string),该函数返回一个元组

obj = struct.unpack("i", res)print(obj[0])运行结果:45

calcsize

用于计算格式字符串所对应的结果的长度,如:struct.calcsize(‘ii’),返回8。因为两个int类型所占用的长度是8个字节。

 subprocess

用于通过python执行shell命令

Popen

res = subprocess.Popen("dir",                       shell=True,                       stderr=subprocess.PIPE,                       stdout=subprocess.PIPE                       )print(res.stderr.read().decode("gbk"))print(res.stdout.read().decode("gbk"))

 

转载于:https://www.cnblogs.com/jiaqi-666/p/9585723.html

你可能感兴趣的文章
Redmine
查看>>
HtmlEditor常用模式
查看>>
Another app is currently holding the yum lock; waiting for it to exit.. yum被锁定无法使用
查看>>
帧的最小长度 CSMA/CD
查看>>
xib文件加载后设置frame无效问题
查看>>
第一次博客
查看>>
Java Map 常见用法举例
查看>>
编程算法 - 左旋转字符串 代码(C)
查看>>
IOS解析XML
查看>>
Python3多线程爬取meizitu的图片
查看>>
树状数组及其他特别简单的扩展
查看>>
Linux vi/vim
查看>>
zookeeper适用场景:分布式锁实现
查看>>
110104_LC-Display(液晶显示屏)
查看>>
javascript全局变量
查看>>
全连接神经网络(DNN)
查看>>
httpd_Vhosts文件的配置
查看>>
php学习笔记
查看>>
28 hashlib 模块 logging 模块 和 configparser模块 functools模块的偏函数partial
查看>>
普通求素数和线性筛素数
查看>>