- A+
事情的起因是这样的,个人创建了一个wordpress博客网站同时想对网站进行动静分离,需要将博客根目录下wp-content和wp-includes目录里面的图片css js woff字体等分离出来,将其他后缀名格式如:.PHP的动态文件删除,然后再传到七牛或又拍云存储服务器上。
wp-content和wp-includes两个目录里面的文件很多,同时也包含了主题、插件等相应的文件,若一股脑的将这两个文件夹都传到云存储服务器上是不行的,里面或许会有涉及到账号、密码等信息机密的文件,他人知道后会直接访问链接下载到。若一个个手动排除删掉不需要的后缀名文件会很麻烦,因此想到直接使用python来批量删除不需要的后缀格式文件。
一、wordpress静态动态文件后缀格式类型
首先在本地电脑上将wp-content和wp-includes两个文件夹拷贝到另外一个文件夹中,如:D:\wordpress ?中,然后打开Pycharm编辑器,在py文件中引入os模块并使用os.walk函数遍历D:\wordpress文件夹及其里面的所有文件。然后使用os.path.splitext函数将每个文件的文件名与后缀分离。通过运行脚本发现:D:\wordpress文件夹中所有文件拓展名格式类型如下:
- '.json',?'.svg',?'.js',?'.png',?'.css',?'.ico',?'.xml',?'.woff',?'.crt',?'.gz',?'.gif',?'.scss',?'.touch',?'.ttf',?'.md',?'.html',?'.mo',?'.xsl',?'.pot',?'.zip',?'.txt',?'.jpg',?'.eot',?'.php',?'.po',?'.woff2'
里面包含了图片格式:.svg .png .ico .gif .jpg (还有其他如:.jpeg .bmp)
样式格式:.css .scss
脚本格式:.js
字体格式:.woff ?.ttf .woff2?.eot
压缩格式:.gz ?.zip
文字格式:.json .txt ?.md
证书格式:.rct 等等
其中每位站长wordpress博客中的主题、插件等不同,后缀格式数量会和上面的若有差别。
二、批量删除或保留需要的后缀格式文件
wordpress动静分离中需要进行cdn加速的静态文件主要包括图片、js、css等格式其他格式不需要。因此,主要选出了如下拓展名类型的文件上传到云存储服务器中进行cdn加速。如:
- ".bmp",".gif",".ico",".jpg",".jpeg",".png",".rtf",".svg",".woff",".ttf",".scss",".css",".js"?,".eot"
其他的文件可以从wordpress文件夹中删除了。下面使实现的python代码。
三、python批量删除后缀文件脚本代码
- #!/usr/bin/python
- #?-*-?coding:?utf-8?-*-
- import?os
- def?del_files(path):
- ????for?root,?dirs,?files?in?os.walk(path):
- ????????for?name?in?files:
- ????????????fullname?=?os.path.join(root,?name)
- ????????????(filename,?extension)?=?os.path.splitext(name)
- ????????????full_extend.add(extension)
- ????????????#?批量删除不再以下列表中的后缀格式文件
- ????????????if?extension?not?in?[".bmp",".gif",".ico",".jpg",".jpeg",".png",".rtf",".svg",".woff",".ttf",".scss",".css",".js"?,".eot"]:
- ????????????????os.remove(fullname)
- ????????????????print("已删除不需要的后缀格式文件:?{}".format(fullname))
- ????#?注释掉了打印所有拓展名的代码,若需要开启请先将上面三行代码注释然后再开启打印
- ????#?print(full_extend)
- if?__name__?==?"__main__":
- ????full_extend?=?set()
- ????del_path?=?"D:\wordpress"
- ????del_files(del_path)
- 我的微信
- 这是我的微信扫一扫
-
- 我的微信公众号
- 我的微信公众号扫一扫
-



