python检查更新脚本

时间:2019-02-13 14:21:19

标签: python

正如标题所述,我希望我的某些python脚本具有“检查更新”。我正在阅读,有一种方法可以使用程序版本创建.txt文件,但我不想创建.txt文件,我认为还有另一种方法可以做到这一点。我当时在想从服务器上读取python文件中的内容,然后将其与实际内容进行比较,但是与此同时,我认为这是一个坏主意。

我曾想过要创建一个属性“ self.version = 1.0”,但是有一种方法可以从服务器读取python文件的属性?这样比较起来容易得多。

因为创建文本文件的问题在于,如果我将.py发送给朋友,我也必须发送txt文件,如果我有10个.py和10个txtFiles,并且如果我更新了版本,该怎么办?我必须在txt文件中执行的.py,但我认为这不是很直观。

大家都推荐我什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

一种在脚本之间进行版本检查的方法是:

在脚本顶部放置一个模块变量,例如:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
__VERSION__ = '1.5'

# here goes the rest of the script

然后,检查更新(这可能会在脚本开始时出现):

  1. 从服务器上下载脚本的最新版本(也许使用requests库,并保存到磁盘上的某个位置或临时文件中)。
  2. 将脚本读取为文本文件以获取其版本

    new_version = ''
    with open('new_script.py') as f:
        for line in f:
            line = line.strip()
            if '__VERSION__' in line:
                _, new_version = line.split('=', maxsplit=1)
                new_version = new_version.strip()
                break
    
    print('Version of the new script is:', new_version)
    print('Current version is:', __VERSION__)