《自拍教程39》Python adb一键同步北京时间

2023-10-30 08:50

本文主要是介绍《自拍教程39》Python adb一键同步北京时间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

研发阶段的Android车机,还不支持从gps或仪表同步互联网时间,
需要手动设置系统时间。 由于任何涉及在线业务,都有时间戳的概念,
如果和远程云端服务器上的时间相差剩余,则服务器端不会返回正常数据。
比如你的车载墨迹天气App,如果你车机时间是:1970-01-01 08:00:00 ,
则肯定无法请求到最新的天气信息,因为你发起请求,服务器直接拒绝,
时间戳相差太大,除非你更新到当前北京时间。


准备阶段
  1. adb shell date -s +时间,可以设置Android终端的系统时间为北京时间。
    比如: adb shell date -s 20200307.165053
  2. 电脑端的时间一般就是北京时间,所以可以直接获取电脑端的时间,然后设置为车机端的时间。
  3. 时间相关的模块,可以用到time模块或者datetime模块,我一般建议用datetime模块,
    因为datetime模块相对功能较为丰富。

Python批处理脚本模式
# coding=utf-8
import os
import datetimenow_time = datetime.datetime.now()
now_time = now_time.strftime("%Y%m%d.%H%M%S")
os.system("adb shell \"date -s %s\"" % now_time)
print("车机时间已经成功同步到了北京时间!")
os.sytem("pause")

更优雅地引用datetime模块

以上datetime模块的引用,
其实不符合日常规范,我们一般会写成:

from datetime import datetimenow_time = datetime.now()

一般来说,在引用区域尽量引用到最底部,即最后一个模块或者最后一个类,
在代码调用区域,只用调用最后一个模块或者最后一个类,
以上from datetime import datetime语句, 第一个datetime是模块名,
第二个datetime是类名,我们调用了datatime的静态方法.now()函数,
这块如果理解不是很清楚,可以查看datetime.py的源代码。


适当地减少变量

now_time = datetime.now()
now_time = now_time.strftime("%Y%m%d.%H%M%S")
其实可以写成一句:
now_time = datetime.now().strftime("%Y%m%d.%H%M%S")
以适当地减少中间变量传递,让代码更加精炼。

Python面向过程函数形式

把代码块打包封装一下, 并调用就可以了。

# coding=utf-8
import os
from datetime import datetimedef set_time():now_time = datetime.now().strftime("%Y%m%d.%H%M%S")os.system("adb shell \"date -s %s\"" % now_time)print("车机时间已经成功同步到了北京时间!")set_time()
os.system("pause")

Python面向对象类的形式

1.以"一切皆可归类"的思想, 先抽象化出一个类来,
类名一般建议用"名词", 所以我们命名为"TimeSetter",
代表时间设置器, 且一般要驼峰式(首字母大写)来规范类的命名。
2. 养成良好的类的初始化(__init__)的习惯, 初始化过程中, 可以pass(什么都不做)
3. TimeSetter 类, 目前只需要一个设置时间的函数(动作功能)就足够了,
函数的命名一般建议用"动词", 所以我们命名为: “set_time” .
4类是一个抽象的事物, 必须实例化成具体的对象后,
才能进行调用, 所以我们实例化并命名成了t_obj, 表明是一个对象.
5.实例化成具体对象后, 对象就可以调用set_time这个函数了.

# coding=utf-8
import os
from datetime import datetimedef TimeSetter():def __init__(self):passdef set_time(self):now_time = datetime.now().strftime("%Y%m%d.%H%M%S")os.system("adb shell \"date -s %s\"" % now_time)print("车机时间已经成功同步到了北京时间!")t_obj = TimeSetter()
t_obj.set_time()
os.system("pause")

代码运行方式

确保Android车机设备通过USB线与电脑连接了,adb设备有效连接,
以上代码的3种实现形式都可以直接运行,
比如保存为set_time.py并放在桌面,
每次需要同步终端时间的时候,双击运行set_time.py.py,
应该可以在Android车机终端屏幕上看到时间已经成功更新成北京时间了。

更多更好的原创文章,请访问官方网站:www.zipython.com
自拍教程(自动化测试Python教程,武散人编著)
原文链接:https://www.zipython.com/#/detail?id=2bae06141b004ab0b55ce9783777a30b
也可关注“武散人”微信订阅号,随时接受文章推送。

这篇关于《自拍教程39》Python adb一键同步北京时间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/306777

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该