最近工作上总是需要重复处理一些事情,比如整理文件(夹),修改文件属性之类的,所以写了点小工具,随手记录一下,以便日后查找
按道理来说.bat
脚本更方便使用,而且在windows端不需要安装任何东西,但无奈不擅长,哈哈
#获取当前路径下所有文件
包括子文件夹、(孙)文件夹,...
1 | def all_files_path(root_dir): |
以上函数的返回值是一个包含有root_dir
路径下所有文件完整路径的一个列表
以此函数为基础,可以做很多很多事情了,比如删除所有的.un~
文件,那么就直接对字符串结尾判断就可以了,然后利用os.unlink
删除就好了。再结合正则表达式,功能也就更强大了。
#删除照片的EXIF信息
照片的EXIF信息可能包含有很多敏感信息,例如拍摄地点,拍摄设备以及更进一步的拍摄参数等等。所以再上传图片或者发送图片给其他人的时候,最好还是先把EXIF信息清理一下
以下就用.jpg
文件来做个示例
1 | from pyexiv2 import Image |
{
"Exif.Image.Make": "Canon",
"Exif.Image.Model": "Canon EOS 800D",
"Exif.Image.Orientation": "1",
"Exif.Image.XResolution": "72/1",
"Exif.Image.YResolution": "72/1",
"Exif.Image.ResolutionUnit": "2",
"Exif.Image.DateTime": "2018:09:12 15:15:50",
...
}
也就是说,EXIF信息是以一种类似于字典的方式存储在图片文件中的,那么把所有的值改为空值或者随便什么没有意义的东西就可以了
1 | from pyexiv2 import Image |
现在再读取图片的EXIF信息的话,结果会显示成这样:
{
"Exif.Image.Make": "",
"Exif.Image.Model": "",
"Exif.Image.Orientation": "",
"Exif.Image.XResolution": "",
"Exif.Image.YResolution": "",
"Exif.Image.ResolutionUnit": "",
"Exif.Image.DateTime": "",
...
}
#命令行启动特定程序打开文件
有时使用命令行启动程序打开文件有很多好处(省略)
此脚本包含对特定路径下所有文件的重命名,以及程序操作,结合获取当前路径下所有文件
1 | if __name__ == "__main__": |
#结语
接着整理接着添加嘿嘿