欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python腳本設(shè)置超時(shí)機(jī)制系統(tǒng)時(shí)間的方法

 更新時(shí)間:2016年02月21日 08:30:15   作者:juejiang  
這篇文章主要介紹了python腳本設(shè)置超時(shí)機(jī)制系統(tǒng)時(shí)間的方法,感興趣的小伙伴們可以參考一下

本文為大家介紹了python腳本設(shè)置系統(tǒng)時(shí)間的方法,一共有兩種,其一是調(diào)用socket直接發(fā)送udp包到國家授時(shí)中心,其二是調(diào)用ntplib包。我在本地電腦ping 國家授時(shí)中心地址cn.pool.ntp.org有時(shí)出現(xiàn)丟包,然而,二者都沒有檢查udp是否丟包的機(jī)制,方法一在udp丟包后一直處于阻塞狀態(tài)無法退出,方法二雖然會提示超時(shí),但是不再做其它嘗試,比如重新發(fā)包,或者向同一個(gè)域名的不同IP地址發(fā)包。于是,嘗試在方法一的代碼基礎(chǔ)上,增加了超時(shí)機(jī)制,并且嘗試向同一個(gè)域名的不同IP地址發(fā)包。

具體修改后的完整代碼如下:

#-*- coding:utf-8 -*-

import socket
import struct
import time
import win32api
import os
import re


def getTime(TimeServerAddresses):
  TIME_1970 = 2208988800L
  client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  client.settimeout(3)
  data = '\x1b' + 47 * '\0'
  #TimeServer_ip=socket.gethostbyname('cn.pool.ntp.org')
  #TimeServer_ip='202.118.1.130'
  Port=123
  for address in TimeServerAddresses:
    success=False
    count=0
    while not success and count<3:
      print address,count
      try:
        client.sendto(data, (address, Port))
        data, address = client.recvfrom(1024)
        success=True
      except socket.timeout:
        print 'Request timed out!'
        count=count+1
    if success==True:a
      break
  data_result = struct.unpack('!12I', data)[10]
  data_result -= TIME_1970
  return data_result

def setSystemTime(now_time):
  tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst = time.gmtime(now_time)
  win32api.SetSystemTime(tm_year, tm_mon, tm_wday, tm_mday, tm_hour, tm_min, tm_sec, 0)
  print "Set System OK!"

def getServerIP():
  res1=os.popen('nslookup cn.pool.ntp.org')
  result1=res1.read()
  addresses=result1.split('\n\n')[1].split('\n')[1][12:].split(',')
  return addresses
  #for address in addresses:
  #  res=os.popen('ping -n 2 '+address)
  #  result=res.read()
  #  received_num=int(re.findall('Received = [0-9]',result)[0].split('=')[1])
  #  if received_num > 1:
  #    break
  #TimeServer=address


if __name__ == '__main__':
  addresses=getServerIP()
  now_time=getTime(addresses)
  setSystemTime(now_time)
  print "%d-%d-%d %d:%d:%d" % time.localtime(now_time)[:6]

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • 淺談Python3中datetime不同時(shí)區(qū)轉(zhuǎn)換介紹與踩坑

    淺談Python3中datetime不同時(shí)區(qū)轉(zhuǎn)換介紹與踩坑

    最近的項(xiàng)目需要根據(jù)用戶所屬時(shí)區(qū)制定一些特定策略,學(xué)習(xí)、應(yīng)用了若干python3的時(shí)區(qū)轉(zhuǎn)換相關(guān)知識,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • PyQt5+QtChart實(shí)現(xiàn)繪制曲線圖

    PyQt5+QtChart實(shí)現(xiàn)繪制曲線圖

    QChart是一個(gè)QGraphicScene中可以顯示的QGraphicsWidget。本文將利用QtChart實(shí)現(xiàn)曲線圖的繪制,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-12-12
  • Python入門教程(四十三)Python的NumPy數(shù)據(jù)類型

    Python入門教程(四十三)Python的NumPy數(shù)據(jù)類型

    這篇文章主要介紹了Python入門教程(四十二)Python的NumPy數(shù)組裁切,NumPy有一些額外的數(shù)據(jù)類型,并通過一個(gè)字符引用數(shù)據(jù)類型,例如 i 代表整數(shù),u 代表無符號整數(shù)等,需要的朋友可以參考下
    2023-05-05
  • Django框架基礎(chǔ)認(rèn)證模塊auth應(yīng)用示例

    Django框架基礎(chǔ)認(rèn)證模塊auth應(yīng)用示例

    這篇文章主要為大家介紹了Django框架認(rèn)證模塊auth示例應(yīng)用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • python實(shí)現(xiàn)批量處理將圖片粘貼到另一張圖片上并保存

    python實(shí)現(xiàn)批量處理將圖片粘貼到另一張圖片上并保存

    今天小編就為大家分享一篇python實(shí)現(xiàn)批量處理將圖片粘貼到另一張圖片上并保存,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python Map 函數(shù)的使用

    Python Map 函數(shù)的使用

    這篇文章主要介紹了Python Map 函數(shù)的使用,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • python中列表推導(dǎo)式與生成器表達(dá)式對比詳解

    python中列表推導(dǎo)式與生成器表達(dá)式對比詳解

    python當(dāng)然不是一門編譯型語言,但是它還是要被解析成二進(jìn)制的字節(jié)碼才能被執(zhí)行,執(zhí)行它的正是python解釋器,下面這篇文章主要給大家介紹了關(guān)于python中列表推導(dǎo)式與生成器表達(dá)式對比的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Python3字符串encode與decode的講解

    Python3字符串encode與decode的講解

    今天小編就為大家分享一篇關(guān)于Python3字符串encode與decode的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Python?pyinstaller打包exe最新完整圖文教程

    Python?pyinstaller打包exe最新完整圖文教程

    pyinstaller是一個(gè)非常簡單的打包python的py文件的庫,下面這篇文章主要給大家介紹了關(guān)于Python?pyinstaller打包exe的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Python如何使用OS模塊調(diào)用cmd

    Python如何使用OS模塊調(diào)用cmd

    這篇文章主要介紹了Python如何使用OS模塊調(diào)用 cmd,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評論