Python Learn
年后的话,一直在加班,赶项目,解bug,扯皮。有些感觉活得不真实,也许这就是生活吧。
这个是在Aosp导入Android Studio,会有重复字串的问题。因为Android源码里,针对不同的设备有不同的string,源码编译不会有问题,导入Android Studio就会编译不过。所以看了看python,写个这个,当娱乐了。
之前的OpenGL ES学习,尽量之后抽时间续写。
1. 安装python环境
windows 环境搭建基本都一样。
这里就直接贴个链接好了。
https://www.cnblogs.com/shizhijie/p/7768778.html
如果在cmd里面敲入python,有版本信息打印就好了。
2. hello world
在cmd里面键入python,然后键入print('Hello world!')
3. Pycharm
python与java,c++这种高级语言不通,采用缩进的方式处理代码块。这个让我很不习惯。
那么,需要写一个脚本的话,IDE还是能快速的帮助上手。python有IDE Pycharm。安装和破解教程我就不贴了。作为程序员最痛恨大家不尊重版权。但是在工作的时候又老是践踏版权。。。
4.处理xml里面重复定义的string
要分两步走。第一步,找到所有res/里面的strings.xml。第二步,解析xml并去重。
去网上找一找,这里我使用os.walk()
解析xml的话,因为stings.xml就一个层级,三种解析方式,我挑选了Element解析。
然后试错,调试就行了。
# Apache License Version 2.0
# Version 1.0
# Date 2019/03/17
# Author SleepyDragon
import xml.etree.ElementTree as ET
import os
import sys
def changeXml(filePath):
try:
tree = ET.parse(filePath)
root = tree.getroot()
rootNew = ET.Element('resources')
for child in root:
productType = child.get('product', default='default')
if (productType != 'default'):
print(child.text)
rootNew.append(child)
for child in rootNew:
root.remove(child)
tree.write(filePath, 'UTF-8')
except Exception as e:
print(e)
def file_name(file_dir):
for root, dirs, files in os.walk(file_dir):
thePath = str(root)
if thePath.startswith(".\\values"):
print("find this "+thePath)
changeXml(thePath + '\strings.xml')
print("deal with "+thePath + '\strings.xml')
file_name(".")
网友评论