04 July 2019
PHP是世界上最好的语言.
人生苦短,我用Python.
PHP我没用过。Python也没用过,都听过。
说到脚本,以前自己也写过一些,譬如Perl,Shell。但那都只学了皮毛,过后就忘光了。主要还是日常用的少,处理问题和解决问题的时候也很少注入脚本解决问题的思想。但是,我觉得时刻握有脚本解决问题的思想是非常重要的。毕竟,脚本就是用来帮助提高解决问题效率的。
最近自己也走在学习Python的路上。
Python使用应该非常广泛了,但是我发现,网上相关文档和完整的博客其实非常少,这点让我很失望。因为,我是活学活用的,遇到问题都是在网上寻找解决方案,而网络基本都是很零散的知识点,甚至很多还是错误的,不全面的,这会让你在网上搜索资料的时候会耗费巨大的时间和精力。
下面是自己摸索了大半天写的一个python脚本。功能是用来配置项目工程的versionName和versionCode,写完后感觉很简单,但是由于自己是Python初学者,在开始写的时候命名规范、变量和函数如何定义都不清楚,所有的资源都来源于网络,这就是学习的过程。
#!/usr/bin/python
# coding=utf-8
import os
import datetime
config_file_name = 'config.gradle'
input_app_version = raw_input("Please enter the version code:")
if input_app_version.strip()=='':
print "version code is null, please enter again..."
input_app_version = raw_input("Please enter the version code:")
# if appVersion.find("\"") >= 0:
# print "输入有误!"
print input_app_version
#获取新的版本号
def get_version_code(version):
year = datetime.datetime.now().year
print year
return str(year) + "00" + version.replace('.','')
#修改版本名称和版本号
def modify_app_version_info():
new_content = ''
has_reade = False
with open(config_file_name, 'r+') as f:
for line in f.readlines():
if "versionName" in line and bool(1-has_reade):
has_reade = True
line = ' versionName = %s' % ("\""+input_app_version+"\"",) + '\n'
print line
if "versionCode" in line:
line = ' versionCode = %s' % (get_version_code(input_app_version),) + '\n'
print line
new_content += line
with open(config_file_name, 'r+') as f:
f.writelines(new_content)
modify_app_version_info()
功能很简单,就是接收输入的版本号,自动改写本地项目的配置文件,配置对应的版本号和versionCode。目前只是简单的支持这个功能,后续可以扩展支持更多的配置属性修改。对于Python而言,主要是针对文件的读取、遍历查找、文本的替换,还涉及到了python一些基本语法(with,if,and,datetime)
— J.Chou