[随想] 今天发生了件挫败感很强的事

因为 MacOs 端微信保存文件的路径是这种形式

/Message/MessageTemp/一堆随机字符 /File(OpenData)/2022-09

相对于 Win 端的File/2022-09 太过复杂,而且每个联系人的随机字符串都不同,查找起来不太方便,所以今天(2022 年 9 月 23 日)中午的时候我打算写一个能定期将微信文件备份到特定文件夹,并按月份归档的 python 小程序。

刚开始我觉着很简单,不就是读取创建时间然后复制粘贴吗,然后我就开始了愉快地面向谷歌编程。

写着写着我开始不断想着添加新功能,微信每收发一个文件不管文件是否一样,都会在本地保存一份 –> 所以想着根据文件名去重 –> 又想到可能会有不同内容的同名文件 –> 不如根据 MD5+文件名去重 — > 全查 MD5 太慢 –> 先看名字再检查 MD5

然后我自己就乱了,前面写了一大堆 if else break ,也没怎么写注释,出错以后往上查自己也看不懂了……

当时真是气死我了

大概就是这样:

for path, dir_list, source_file_list in g: for source_file_list in source_file_list: riqi = get_change_time(str(path) + '/' + str(source_file_list)) target_path = '' + riqi target_path_file_name = return_target_file_name(target_path) for i in target_path_file_name: if i == source_file_list: md5_target = return_md5(target_path + '/' + i) md5_source = return_md5(path + '/' + source_file_list) if md5_target==md5_source: status=2 break else: print(i) target_path_file_name.remove(i) for uu in target_path_file_name: md5_target = return_md5(target_path + '/' + uu) md5_source = return_md5(path + '/' + source_file_list) if uu == target_path_file_name: status=1 break else: status=2 break else: status=3

现在我也没理清楚计算 md5 那段是怎么个逻辑

还好经过我的不懈努力,程序能正常工作了,上面想的几个功能也都实现了。从下午两点一直搞到晚上八点,晚饭也烦的没有吃,一个下午全耗在这了,啥正事也没干,就为了这个小功能(责任全在微信)。为什么说是挫败感呢?因为我感觉这个真是个挺简单的程序,而且晚上写完回看确实感觉很简单,但是耗费了我这么长的时间,而且感觉自己好菜….我不是科班出身,写代码全是个人爱好,我一直认为自己有点写代码的天赋,现在看来我应该去重新系统的学习一下如何写代码。

晚上睡不着,写出来感觉舒服多了,晚安兄弟们

发表回复

您的电子邮箱地址不会被公开。