import time
import os
try:
import ntplib
client = ntplib.NTPClient()
response = client.request('pool.ntp.org')
os.system('date ' + time.strftime('%m%d%H%M%Y.%S',time.localtime(response.tx_time)))
except:
print('Could not sync with time server.')
print('Done.')
我正在处理一个独立的传感器设备,它运行Linux2.6.33和Python2.6.5,不幸的是缺少实时时钟,但是确实有网络功能。此外,该设备使用BusyBox,因此它具有一组最小化的工具功能。
我创建了下面的脚本,该脚本在网络运行后执行,以更正系统时间。我的解决方案可能没有完全解决最初的问题(听起来Noah是系统的用户而不是管理员),但这个问题是通过NTP使用Python搜索同步系统时钟时出现的问题。我想它可能会帮助其他人降落在这里。
在使用脚本之前,需要安装ntplib。下载链接和安装说明如下:https://pypi.python.org/pypi/ntplib/。
将下面代码的内容复制到一个文件中(我将其命名为“synctime.py”)。然后,在网络运行之后,执行脚本(例如“python synctime.py”)。您需要使用提升的(根)权限才能正常工作。
听起来您应该考虑使用NTP之类的东西来保持机器的时间彼此同步(最好是全局标准时间源)。
试试ntplib for python。我玩过一点,它看起来很稳定。
https://pypi.python.org/pypi/ntplib/
相关问题 更多 >
编程相关推荐