【Python】Python常用操作
Python中的一些东西如果不常用的话很容易混淆,比如说os.path.split和os.path.splitext这两个函数,看着很像,细分的话发现自己竟然有点搞不清了,只能测试跑个demo看一下,着实难受,为了方便之后的使用,这里还是记录一下。
但是一些很常用的还是要记住的嗷!
os.path.split()
os.path.split()是用于将路径分割成目录和文件名两部分。比如有路径如下 ‘/home/user/file.txt’,os.path.split(该路径)则会得到一个列表list
list[0] 为/home/user/
list[1] 为file.txt
案例演示
1 | import os |
os.path.splitext()
简单一句话说就是:用于分离文件名和扩展名。
它接受一个文件路径作为参数,返回一个元组,其中包含文件名(去掉扩展名后的部分)和扩展名(包括点号)。如果路径中没有扩展名,则返回空字符串。
比如路径:“/home/user/documents/example.txt”
os.path.splitext(该路径)则会得到一个
元组:(‘/home/user/documents/example’, ‘.txt’)如果路径是
/home/user/documents/example,则返回('/home/user/documents/example', '')。
案例演示
1 | import os |
获取昨天的日期并格式化
看到这个标题会不会想到time相关的函数,而且不止time还有datetime函数。
当我用time函数只能获取的今天的日期,但是发现我好像不会获取昨天的日期,这里就简单记录一下吧!
- 更强的一种写法(写成一句话,可以用来装x!)
yesterday=(datetime.datetime.now() + datetime.timedelta(days=-1)).strftime("%Y-%m-%d")
案例演示
1 | import datetime |
获取当前时间并格式化
这个获取的时间跟上面的不一样,使用的是time模块。
其实Python中获取时间的模块总共有三个,这里会用两个就行,还有个calendar模块就不多bb了。
1 | import time |
Python中二进制和16进制之间的转化
之前我是不太熟悉进制之间的相互转换的,然后自从自己封装过一个pcap报文之后,也对数据报包,封包什么的没有了过多的担心和不会了。
还有一个别人经常说的ASCII码就普遍默认是16进制的,但是很多ASCII也会有二进制的对照表,这个就暂时认为是16进制的罢!
主要有两个函数
- binascii.a2b_hex()
- 将16进制数据转为二进制数据
- binascii.hexlify()
- 将二进制转为16进制数据
案例演示
没有案例,实在不熟!^_^
获取执行Linux命令后的结果
通过os.system(Shell语句)只能获取到执行Shell语句后的成功与否的值。
例如:tag = os.system(“rm -rf a.txt”)
- 如果命令执行成功,则返回值为0;
- 如果命令执行失败,则返回值为非零值,通常为命令的错误码。
如果想获取shell语句执行后的结果则需要导入另一个包subprocess
如果还想获得明文,则就必须对result进行decode
案例演示
1 | import subprocess |


