Python基础整理和记录

作者 qiuzhong 日期 2020-05-22
Python基础整理和记录

为什么忽然使用python

最近在做打包脚本相关的工作,不可避免的用到了当前很流行的python,当然打包脚本不是什么复杂的工作,鉴于本人是个python菜鸡,完成这个脚本还是花了几天时间的。记录下这几天遇到的问题吧。

都遇到了哪些问题

  • 关于python多线程,考虑要使用python多线程是因为脚本里有一项工作是对资源文件夹里的图片进行pkm压缩,使用的是ETC2的开源压缩工具但是由于是python调用exe来工作的,多线程并不能解决exe只有一份,会相互抢占资源的问题,放弃的这个方案
  • 目前采用的方案是个折中的办法,就是第一次打包的时候全部文件编译,同时记录并用版本工具维护这些数据,下次打包的时候先对比md5,只编译那些修改或则新增的文件,在这个过程中遇到的麻烦都在路径的拼接和文件的拷贝上

获取文件的MD5

def getFileMD5(file_path):
file = open(file_path,'rb')
md5 = hashlib.md5(file.read()).hexdigest()
file.close()
return md5

拷贝文件

def copy_files(src, dst):
for item in os.listdir(src):
path = os.path.join(src, item)
if not item.startswith('.') and not item.endswith('.gz') and os.path.isfile(path):
shutil.copy(path, dst)
if os.path.isdir(path):
new_dst = os.path.join(dst, item)
if not os.path.exists(new_dst):
os.mkdir(new_dst)
copy_files(path, new_dst)