用Python简化安卓开发系列
Posted hjm_1fb1990
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Python简化安卓开发系列相关的知识,希望对你有一定的参考价值。
准备工作(可选,mac环境)
安装Homebrew
安装python3
设置默认python
安装python编辑器Sublime3
用Python检查资源文件是否Valid
有时候编译打包时会报资源文件格式错误。比如某个jpg的文件被重命名为png, 然后放到了图片资源目录下,就可能导致编译失败。
为此写了一个Python脚本来自动检测此类错误。
# -*- coding: utf-8 -*-
import os
import imghdr
PATH = r"/Users/apple/Desktop"
pngString = "png"
for path, dirs, files in os.walk(PATH):
for filename in files:
fullpath = os.path.join(path, filename)
format = imghdr.what(fullpath)
if format != pngString:
print(fullpath)
PATH 是要检测的路径名,walk方法会遍历改PATH下的所有文件,包括子文件夹下的文件。然后检测真实的格式(format)(即使重命名过也没事)。最后如果格式不是png,就会打印出文件名。
使用方法:
1. 文本编辑器复制这段代码,保存为.py结尾的文件。
2. 改成自己的检测路径
3. 在命令行中运行,比如python /Users/apple/Desktop/imgcheck.py
即可
批量重命名图片并复制到drawable文件夹
带注释的脚本:
# -*- coding: utf-8 -*-
import os
import shutil
# 从哪里拷贝图片
pathFrom = input("move drawable from:").strip()
# 拷贝到哪个文件夹 比如项目下的drawable—xhdpi文件夹
pathTo = input("move drawable to:").strip()
# 要批量重命名的字符串 一般是@2x。也是需要复制的图片的标志,因为如果不需要重命名的话,就直接复制 不需要脚本了。
iDentifyString = input("iDentifyString:").strip()
for path, dirs, files in os.walk(pathFrom):
for fileName in files:
print(fileName)
if iDentifyString.lower() in fileName.lower():
fromFullpath = os.path.join(path, fileName)
# 去掉@2x 替换不合法方字符 改成小写
newFileName = fileName.replace(
iDentifyString, "").replace("-", "_").lower()
print(newFileName)
toFullPath = os.path.join(pathTo, newFileName)
shutil.copyfile(fromFullpath, toFullPath)
使用场景:UI给了切图,但是是按ios命名的。@2x @3x 这样。安卓只需要拿@2x的图片,并去掉@2x这几个字符。
以上是关于用Python简化安卓开发系列的主要内容,如果未能解决你的问题,请参考以下文章
python全栈开发day24-__new____del__item系列异常处理