Python文件拷贝的简单示例
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 52php.cn的小编两巴掌来看看吧!
最近在备份手机上的照片的时候,纯手工操作觉得有些麻烦,就想写个脚本自动进行。因为备份的时候有些照片以前备份过了,所以需要有个判重操作。 主要功能在copyFiles()函数里实现,如下:
这里我首先使用os.listdir()函数来遍历源文件夹src和目标文件夹dst,得到两个文件列表,但由于我需要判重操作,因此需要在dst文件列表中进行查询操作。由于列表的查询效率不高,而字典是一个哈希表,查询效率较高,因此我将目标文件列表转换成一个只有键没有值的字典: dstFiles = dict(map(lambda x:[x,os.listdir(dst))) 然后我遍历源文件列表,若该路径是一个文件夹,先判断该文件夹在目标路径中是否存在,若不存在,则先创建一个新路径。然后递归调用本函数。其实不存在的时候更高效的方法是调用shutil.copytree()函数,但由于此处需要计算拷贝的文件数量,因此就没有调用该函数。 若该路径是一个文件,则首先判断该文件在目标文件夹中是否存在。若不存在,则拷贝。 由于写这个脚本主要是为了同步手机相册到PC,因此只简单地判断一下文件名。若要判断不同名但相同的文件,则可以继续判断一下md5值,这里就不再赘述。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- python – 在这种情况下进行直方图比较是否安全?
- 如何将Python 2 unicode()函数转换为正确的Python 3.x语法
- python发送requests请求时,使用登录的token值,作为下一个
- Django / Python使用shell(os.system / Popen)转换PDF,而不
- 在局域网中发布共享文件
- 用Python怎么telnet到网络设备
- Python可以导入未安装的模块
- python – AttributeError:module’_Box2D’没有属性’RAN
- python使用urllib2提交http post请求的方法
- 如何重新排列包含关系运算符的sympy表达式