0%

python - 本地文件操作

前言

拿到一个本地文件操作需求,写个py完成
水文,仅作笔记用途,再不水一年要过去了,蓝受。。香菇。。

需求

要求:解析"文件信息.txt",根据解析出的md5值找到对应的文件,按照解析出的文件路径复制到相应的目录下。
例如:解析第一行,根据第一个md538C45AC1A54F65732CFE56C7BCC17A87遍历当前文件夹及子文件夹找到对应的文件123.exe,再根据解析出的路径"I_DONOT_远控"复制到"C:\I\DONOT\远控"下。

Code

阅读本篇文章能了解到:python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# -*- coding: UTF-8 -*-
import os,hashlib,shutil


def main():
with open('文件信息.txt', encoding='utf-8-sig', mode='r') as inF:
for line in inF:
temp = line.strip().split('#')[0].split('\t\t')
print(temp)
_md5 = temp[0]
flag = 0
for parent, dirnames, filenames in os.walk('.\\',topdown=False):
for filename in filenames:
file_path = os.path.join(parent, filename)
with open(file_path, 'rb') as fileF:
md5obj = hashlib.md5()
md5obj.update(fileF.read())
_hash = md5obj.hexdigest().upper()
if _md5 == _hash:
flag = 1
break
if flag:
break
dirFile = temp[2].strip().split('_')
pathTemp = 'c:\\'
for i in dirFile:
pathTemp += i+'\\'
os.mkdir(pathTemp)
shutil.copy(file_path, pathTemp)

if __name__ == '__main__':
main()