python杂记

本文最后更新于:2023-08-10 18:39

前言

主要用来记录一些python本身自带函数的使用和一些问题的解决方式。所谓好记性不如烂笔头,所以这篇文章是个学习记录,方便以后忘记的时候再看看。但是最好还是直接记在脑子里。

eval() 函数的使用

参考链接:

eval()函数用于执行一个字符串表达式,并返回表达式的值。

例子

使用 eval() 函数之后,再执行就不会抛出异常,而是被正常转换为字典。

print() 输出空行

参考链接:

读取文件使用readlines时,用for循环输出时会有一个空行。在print中加入end=""后(如print(i, end="")),输出的内容中不再包含空行。

sys与os

参考链接:

sys(system)与 os 分别是系统和操作系统的意思,初学者容易搞不懂这两个模块的区别,特此记录一下。

个人认为,os模块是系统调用模块,这个系统指的是WindowsLinux,该模块提供了一些使用操作系统函数的方法,比如:

1
2
3
os.remove() #删除文件
os.rename() #重命名文件
……

sys模块,指的是Python解释器自身,该模块提供了由解释器使用或维护的变量和与解释器交互的函数,比如:

1
2
sys.argv #命令行参数List,第一个元素是程序本身路径
sys.modules.keys() #返回所有已经导入的模块列表

总结:虽然这两个模块翻译过来都是系统的意思,但二者所指不同,os模块指的是操作系统,而sys模块指的是 Python 解释器。

安装LibcSearcher的方法

在做 pwn 题的时候用到了LibcSearcher模块,但是这个模块安装报错。根据 python 的报错信息查询信息,但是一直没有找到解决方式。直接查找该模块的安装方式找到了解决方案,原来 python 的模块还可以这样安装。

参考链接:https://blog.csdn.net/neuisf/article/details/103829683

他文章中提到了将LibcSearcher.py复制到当前目录(安装目录),这个“当前目录”让人摸不着头脑,我复制到了 python 的模块目录下: /usr/local/lib/python2.7/dist-packages/目录下,然后就可以使用了。

1
2
3
4
git clone https://github.com/lieanu/LibcSearcher.git
cd LibcSearcher
python setup.py install
sudo cp ./LibcSearcher.py /usr/local/lib/python2.7/dist-packages/

No module named “Crypto”

参考链接:

忘记是做什么事了,python 一直报No module named "Crypto",我一般是直接用 pip 安装缺少的模块,但是 pip 一直提示找不到该模块,原来是安装的包名称不对,使用下面方式解决:

1
pip install pycryptodome

python杂记
https://ahtoh.cn/2022/08/16/python杂记/
作者
ahtoh
发布于
2022-08-16 21:19
许可协议