背景:公司测试人员要求开发打出来的包名带上时间、版本等,例如:V1.0.0_2023年7月26日08点30分_test.ipa
实现如下:
1.获取ipa版本号
def get_ios_app_version(ipa_path):
ipa_file = zipfile.ZipFile(ipa_path)
plist_path = self.find_plist_path(ipa_file)
plist_data = ipa_file.read(plist_path)
plist_root = plistlib.loads(plist_data)
return plist_root['CFBundleShortVersionString']
def find_plist_path(zip_file):
name_list = zip_file.namelist()
pattern = re.compile(r'Payload/[^/]*.app/Info.plist')
for path in name_list:
m = pattern.match(path)
if m is not None:
return m.group()
2.获取当前时间
def get_cur_time():
now = datetime.datetime.now()
formatted_time = now.strftime("%Y年%m月%d日%H时%M分")
return formatted_time
3.重命名ipa
def rename_files_in_directory(directory_path, old_name, new_name):
for filename in os.listdir(directory_path):
if old_name in filename:
new_filename = filename.replace(old_name, new_name)
old_file_path = os.path.join(directory_path, filename)
new_file_path = os.path.join(directory_path, new_filename)
os.rename(old_file_path, new_file_path)
print(f"文件名已从 {filename} 修改为 {new_filename}")
网友评论