python安卓下载
作者:siseniao
从该文章改进:https://post.smzdm.com/p/an370emp/?zdm_ss=Android_1106136211_&send_by=1106136211&from=other&invite_code=zdmwffzv7winv
原文每次扫描都需要重新计算MD5,对于大文件来说,磁盘消耗较大,增加了缓存文件存储md5,每次扫描只计算新文件,提高效率。
不废话,直接贴代码:
import os
import hashlib
# 只删除以下列表中的重复文件类型.如果想删除其他类型的文件,自己添加一下就行了
file_type = ['.jpg', '.jpeg', '.png', '.gif', '.psd', '.bmp', '.webp', '.mp4', '.mkv', '.avi', '.mov', 'mpeg', 'mpg',
'.rar', '.zip']
check_files = []
#自行修改目录列表
work_dir_list = [r'/volume2/111', r'/volume1/222']
def save_md5_file(files_dict:dict):
if files_dict is None:
return
try:
with open("md5.txt", "w") as f:
for path_md5, file_md5, in files_dict.items():
f.write(str(path_md5) + "=" + str(path_md5) + 'n')
except Exception as e:
pass
def open_md5_file():
files_md5 = {}
try:
with open("md5.txt", "r") as f:
for md5_line in iter(lambda: f.readline(), ""):
list_keys = md5_line.split('=')
if len(list_keys) == 2:
files_md5[list_keys[0].strip()] = list_keys[1].strip()
except Exception as e:
pass
return files_md5
def remove_repeat_files():
for work_dir in work_dir_list:
for root, dirs, files in os.walk(work_dir):
for name in files:
p_type = os.path.splitext(os.path.join(root, name))[1]
if p_type in file_type:
check_files.append(os.path.join(root, name))
for name in dirs:
p_type = os.path.splitext(os.path.join(root, name))[1]
if p_type in file_type:
check_files.append(os.path.join(root, name))
files_dict = {}
files_md5 = open_md5_file()
r_index = 0
print('Files Num:%s' % len(check_files))
for file_path in check_files:
try:
md5_path = hashlib.md5()
md5_path.update(file_path.encode('utf-8'))
path_md5 = md5_path.hexdigest()
file_md5 = files_md5.get(path_md5)
if file_md5 is None:
md5_hash = hashlib.md5()
with open(file_path, "rb+") as f:
for byte_block in iter(lambda: f.read(4096), b""):
md5_hash.update(byte_block)
file_md5 = md5_hash.hexdigest()
print('Check file MD5:%s' % file_path)
files_md5[path_md5] = file_md5
if files_dict.get(file_md5) is None:
files_dict[file_md5] = file_path
else:
d_path = files_dict[file_md5]
d_path_stats = os.stat(d_path)
file_stats = os.stat(file_path)
d_time = d_path_stats.st_ctime
f_time = file_stats.st_ctime
if d_time > f_time:
os.remove(d_path)
files_dict[file_md5] = file_path
print('Delete File:', d_path)
r_index += 1
else:
os.remove(file_path)
print('Delete File:', file_path)
r_index += 1
except Exception as e:
pass
print('File Count:%s, Repeat Files Num:%s. All deleted!' %( len(check_files),str(r_index)))
save_md5_file(files_md5)
if __name__ == '__main__':
remove_repeat_files()
可以在ssh或者任务计划里执行
","gnid":"9a931522e9730c14b","img_data":[{"flag":2,"img":[{"desc":"","height":"385","title":"","url":"https://p0.ssl.img.360kuai.com/t01a2508b2adc68479c.jpg","width":"600"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1679316661000,"pure":"","rawurl":"http://zm.news.so.com/1715a84bea2900132874605fea6f9a81","redirect":0,"rptid":"71260418b6e0ce01","rss_ext":[],"s":"t","src":"什么值得买","tag":[],"title":"利用python删除群晖重复文件(缓存文件MD5方式)
文素歪4901windows python怎么安装 -
高温苗17697901208 ______ 方法/步骤 1 首先下载python安装包: 2 安装过程如下: 3 唯一要注意的是,安装目录最好选择非C盘. 4 测试程序: 安装完成后,在开始菜单中多了一项,如图: 5 编写简单的程序: 6 上图中,>>>符号是Python的命令提示符.上面的小程序,打印出“Hello,python!” 当然,你也可以运行IDLE
文素歪4901可以在手机上编写python吗? -
高温苗17697901208 ______ 可以,我一直在用手机python编程..而且手机上编的,只要没引入手机的包,程序不用改直接就可以在电脑上运行..我的是s60,下载一个python的手机环境就行了.黑莓的应该支持,你去看看有没有黑没的python环境..
文素歪4901python3.6.0怎么安装 -
高温苗17697901208 ______ 现在python官网上下载和自己本机匹配的python版本,看好自己的机器是64为的还是32位的 下载好了python安装包后双击python安装包,选择install just for me,点击下一步 选择python安装的路径一般都安装在c盘,点击next下一步 选择python索...
文素歪4901如何安装配置ulipad -
高温苗17697901208 ______ 说到ulipad这个编辑器,我心情比较激动,自从开发用python一来就一直用ulipad,用了2年多了,期间也换个编辑器,发现用着 今天有个新手朋友他看到老王python的博文以后,也想用用ulipad, 他装了半天都没有装好,比较苦恼.我写这篇文...
文素歪4901怎么在Android下用python调用摄像头 -
高温苗17697901208 ______ 1、下载相关软件包 下载地址:(code/p/android-scripting/downloads/list),我们需要下载如下几个文件:并将这5个文件复制到 Android SDK目录下,(我这里复制到 /opt/android-sdk-linux/platform-tools , adb工具现在被放在platform-tools下,...
文素歪4901编程:python怎么调用android的API? -
高温苗17697901208 ______ 1、下载相关软件包 下载地址:(http://code.google.com/p/android-scripting/downloads/list),我们需要下载如下几个文件:并将这5个文件复制到 Android SDK目录下,(我这里复制到 /opt/android-sdk-linux/platform-tools , adb工具现在被放在...
文素歪4901python wx怎么下载安装?急求!!! -
高温苗17697901208 ______ 都有现成的安装包.你先装python ,然后去这里 http://sourceforge.net/projects/wxpython/files/wxPython/ 下载对应你python版本的wxPython 然后安装,ok了.
文素歪4901在Android手机上编写Python程序 -
高温苗17697901208 ______ 你安装一个qpython试试看.这个版本可以直接在android手机上试验一些功能.而且很简单.还有一个集成环境.
文素歪4901Python 安装失败...版本2.7.9 -
高温苗17697901208 ______ 建议先把已安装的python卸载干净,然后从官网下载安装包安装试试(全部使用默认配置).官网下载地址:https://www.python.org/downloads/release/python-279/
文素歪4901如何在win7上搭建android cocos2d - x - 3.3开发环境 -
高温苗17697901208 ______ 1. 搭建开发环境需要安装的工具: A. Visual Studio 2012 B. Cocos2d-x-3.3版本 C. Java JDK 1.7 D. Android SDK E. Android NDK 2. 下载Visual Studio 2012并安装 3. 下载Cocos2d-x-3.3版本的游戏引擎 用户可登录cocos2d-x官网下载3.x系列...