起因
先说一下我在干什么,之前有一个朋友,他们的网安老师提出了一个挑战,就是如果能在交作业的时候把他电脑上的考试卷拿到,那么考试直接满分,老师已经展示了考卷的位置,以及自己的电脑系统。
那么就来试一下,首先我的想法是将图片和exe一起发给老师,然后同时运行,在指定位置搜索考试卷(word文档),然后用email库发邮件。
这篇博客应该会比较全,想法是把整个流程都搬一遍,如果实现上有问题我会补充。
说干就干
首先是脚本的准备,要有两个功能,一个是在搜索(其实是可以直接使用指定位置的,但是说不好会换呢),另一个是发邮件。
文件的结构是树结构么, 我本来以为还要自己手搓一个深度优先或者广度优先,然后发现,直接调库:
os.walk(path)
传入一个path,作为根节点,进行文件搜索。
import os
# 起始查找地址,我们假设是在D盘
path = 'D:'
# 要查找的文件名
filename = '***.docx'
# 将查询结果保存在文本文档中
def find_file():
for root, lists, files in os.walk(path):
# 当前路径、文件夹列表、文件列表
for file in files:
if filename == file:
# 找到了,将路径和文件名拼起来,组成一个可打开的文件
return os.path.join(root, file)
to_read =