91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 10.92MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-07
  • 語言: Python
  • 標簽: python??軟件升級??

資源簡介

用Python實現一個軟件自動升級系統。設計思路很簡單:當有新版本需要發布時,將文件放在服務端,生成一個記錄每個文件變化的配置文件。客戶端本地也有一個記錄文件信息的配置文件,客戶端檢查更新時,將服務端的配置文件下載下來,與本地配置文件進行比較,然后下載有變化的文件,覆蓋本地文件(如果文件正在使用中,可能無法覆蓋,這時候更新前應該先關閉正在運行的客戶端),中間有Tkinter做的界面提示更新進度。更新結束后根據策略決定是否重啟客戶端。

資源截圖

代碼片段和文件信息

#?-*-?coding:?utf-8?-*-
#?@Time????:?2019/4/25?20:16
#?@Author??:?g05325
#?@File????:?AutoUpdate.py
#?@Software:?PyCharm
#?@Function:?實現客戶端自動更新(客戶端)
import?os
import?sys
import?time
import?getopt
import?requests
import?shutil
import?zipfile
import?tkinter
from?tkinter?import?messagebox?ttk
from?contextlib?import?closing
import?xml.etree.ElementTree?as?ET
import?xml.dom.minidom?as?minidom


#?處理xml的類
class?VersionInfoxml:
????def?__init__(self?xml_path?server_info=None?module_list=None):
????????self.xml_path?=?xml_path
????????if?server_info?is?not?None:
????????????if?module_list?is?None:
????????????????module_list?=?[“ClientVersion“]
????????????self.create_new_xml(server_info?module_list)
????????self.tree?=?ET.parse(self.xml_path)
????????self.root?=?self.tree.getroot()

????def?create_new_xml(self?server_info?module_info):
????????root?=?ET.Element(“versionInfo“)
????????ServerInfo?=?ET.SubElement(root?“ServerInfo“)
????????ET.SubElement(ServerInfo?“ServerIp“).text?=?server_info[0]
????????ET.SubElement(ServerInfo?“ServerPort“).text?=?server_info[1]
????????ET.SubElement(ServerInfo?“xmlLocalPath“).text?=?server_info[2]
????????for?each_module?in?module_info:
????????????ET.SubElement(root?each_module).set(“Version“?“0“)
????????self.save_change(root)
????????print(“I?created?a?new?temp?xml!“)

????def?save_change(self?root=None):
????????if?root?is?None:
????????????root?=?self.root
????????rough_bytes?=?ET.tostring(root?“utf-8“)
????????rough_string?=?str(rough_bytes?encoding=“utf-8“).replace(“\n“?““).replace(“\t“?““).replace(“????“?““)
????????content?=?minidom.parseString(rough_string)
????????with?open(self.xml_path?‘w+‘)?as?fs:
????????????content.writexml(fs?indent=““?addindent=“\t“?newl=“\n“?encoding=“utf-8“)
????????return?True

????def?changeServerInfo(self?name?value):
????????if?type(value)?is?int:
????????????value?=?str(value)
????????Xpath?=?“ServerInfo/%s“?%?name
????????element?=?self.root.find(Xpath)
????????if?element?is?not?None:
????????????element.text?=?value
????????????#?self.save_change()
????????else:
????????????print(“I?can‘t?find?\“ServerInfo/%s\“?in?xml!“?%?name)

????def?addobject(self?module_name?file_path?file_size?last_update_time?version):
????????moduleVersion?=?self.root.find(module_name)
????????object?=?ET.SubElement(moduleVersion?“object“)
????????ET.SubElement(object?“FileRelativePath“).text?=?str(file_path)
????????ET.SubElement(object?“FileSize“).text?=?str(file_size)
????????ET.SubElement(object?“LastUpdateTime“).text?=?str(last_update_time)
????????ET.SubElement(object?“Version“).text?=?str(version)
????????#?self.save_change()

????def?deleteobject(self?module_name?file_name):
????????Xpath?=?“%s/object“?%?module_name
????????objects?=?self.root.findall(Xpath)
????????moudleVersion?=?self.root.find(module_name)
????????for?element?in?objects:
????????????if?element.find(‘FileRelativ

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-04-25?22:07??Client\
?????文件???????19666??2020-04-25?21:49??Client\client.py
?????文件?????????243??2020-04-25?21:58??Client\start.bat
?????目錄???????????0??2020-04-25?21:51??Client\TempFolder\
?????目錄???????????0??2020-04-25?22:07??Client\venv\
?????目錄???????????0??2020-04-25?18:42??Client\venv\Include\
?????目錄???????????0??2020-04-25?22:07??Client\venv\Lib\
?????目錄???????????0??2020-04-25?22:07??Client\venv\Lib\site-packages\
?????目錄???????????0??2020-04-25?22:07??Client\venv\Lib\site-packages\__pycache__\
?????文件?????????314??2020-04-25?18:46??Client\venv\Lib\site-packages\__pycache__\easy_install.cpython-38.pyc
?????目錄???????????0??2020-04-25?22:07??Client\venv\Lib\site-packages\certifi-2020.4.5.1.dist-info\
?????文件???????????4??2020-04-25?18:52??Client\venv\Lib\site-packages\certifi-2020.4.5.1.dist-info\INSTALLER
?????文件????????1048??2020-04-25?18:52??Client\venv\Lib\site-packages\certifi-2020.4.5.1.dist-info\LICENSE
?????文件????????2746??2020-04-25?18:52??Client\venv\Lib\site-packages\certifi-2020.4.5.1.dist-info\metaDATA
?????文件?????????947??2020-04-25?18:52??Client\venv\Lib\site-packages\certifi-2020.4.5.1.dist-info\RECORD
?????文件???????????8??2020-04-25?18:52??Client\venv\Lib\site-packages\certifi-2020.4.5.1.dist-info\top_level.txt
?????文件?????????110??2020-04-25?18:52??Client\venv\Lib\site-packages\certifi-2020.4.5.1.dist-info\WHEEL
?????目錄???????????0??2020-04-25?22:07??Client\venv\Lib\site-packages\certifi\
?????文件??????????64??2020-04-25?18:52??Client\venv\Lib\site-packages\certifi\__init__.py
?????文件?????????243??2020-04-25?18:52??Client\venv\Lib\site-packages\certifi\__main__.py
?????目錄???????????0??2020-04-25?22:07??Client\venv\Lib\site-packages\certifi\__pycache__\
?????文件?????????258??2020-04-25?18:52??Client\venv\Lib\site-packages\certifi\__pycache__\__init__.cpython-38.pyc
?????文件?????????421??2020-04-25?18:52??Client\venv\Lib\site-packages\certifi\__pycache__\__main__.cpython-38.pyc
?????文件?????????910??2020-04-25?18:52??Client\venv\Lib\site-packages\certifi\__pycache__\core.cpython-38.pyc
?????文件??????284099??2020-04-25?18:52??Client\venv\Lib\site-packages\certifi\cacert.pem
?????文件?????????792??2020-04-25?18:52??Client\venv\Lib\site-packages\certifi\core.py
?????目錄???????????0??2020-04-25?22:07??Client\venv\Lib\site-packages\chardet-3.0.4.dist-info\
?????文件????????2174??2020-04-25?18:52??Client\venv\Lib\site-packages\chardet-3.0.4.dist-info\DEscriptION.rst
?????文件??????????60??2020-04-25?18:52??Client\venv\Lib\site-packages\chardet-3.0.4.dist-info\entry_points.txt
?????文件???????????4??2020-04-25?18:52??Client\venv\Lib\site-packages\chardet-3.0.4.dist-info\INSTALLER
?????文件????????3239??2020-04-25?18:52??Client\venv\Lib\site-packages\chardet-3.0.4.dist-info\metaDATA
............此處省略2689個文件信息

評論

共有 條評論