python检查更新脚本

python检查更新脚本,python,Python,正如标题所说,我希望我的一些python脚本具有“检查更新”。我正在阅读,有一种方法可以用程序版本创建一个.txt文件,但我不想创建一个.txt文件,我认为还有另一种方法可以做到这一点。我想从de服务器读取python文件的内容,并与实际内容进行比较,但同时我认为这是一个坏主意 我想创建一个属性“self.version=1.0”,但是有一种方法可以从服务器读取python文件的属性吗??这样比较两者更容易 因为创建文本文件的问题是,如果我将.py发送给朋友,我也必须发送txt文件,如果我将10

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

我想创建一个属性“self.version=1.0”,但是有一种方法可以从服务器读取python文件的属性吗??这样比较两者更容易

因为创建文本文件的问题是,如果我将.py发送给朋友,我也必须发送txt文件,如果我将10.py与10个txt文件一起发送,如果我在.py中更新版本,我必须在txt文件中执行,我认为这不是很直观

你们都推荐我什么


谢谢

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

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

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

# here goes the rest of the script
然后,要检查更新(这可能在脚本开始时的某个地方):

  • 从服务器下载最新版本的脚本(可能使用
    请求
    库并保存到磁盘或临时文件中的某个位置)
  • 将脚本作为文本文件读取以获取其版本

    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__)
    

  • 脚本之间版本检查的一种方法是:

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

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    __VERSION__ = '1.5'
    
    # here goes the rest of the script
    
    然后,要检查更新(这可能在脚本开始时的某个地方):

  • 从服务器下载最新版本的脚本(可能使用
    请求
    库并保存到磁盘或临时文件中的某个位置)
  • 将脚本作为文本文件读取以获取其版本

    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__)
    

  • 一种选择是使用属性,如您所述。要将本地版本与服务器版本进行比较,可以从服务器下载文件并在其中检查版本。或者你可以在你的服务器上做一个API端点,在那里你可以检查最新的版本是什么。我怎么做??例如,如果我将文件下载到temp,如何比较属性中的版本存储??和/或如何实现此API端点?比较的一种简单方法是将版本作为模块属性(顶级变量,通常都是大写)放在文件顶部;如果不从服务器加载新版本,请使用
    open()
    以文本形式读取新python文件,并找到包含version属性的行,然后将其与脚本的当前版本进行比较。好的,我明白了。。。我进行了拆分(“\n”)并选择了索引0,其中是版本并进行了检查。太好了,非常感谢。用最好的答案来结束它。一个选择是使用一个属性,就像你提到的。要将本地版本与服务器版本进行比较,可以从服务器下载文件并在其中检查版本。或者你可以在你的服务器上做一个API端点,在那里你可以检查最新的版本是什么。我怎么做??例如,如果我将文件下载到temp,如何比较属性中的版本存储??和/或如何实现此API端点?比较的一种简单方法是将版本作为模块属性(顶级变量,通常都是大写)放在文件顶部;如果不从服务器加载新版本,请使用
    open()
    以文本形式读取新python文件,并找到包含version属性的行,然后将其与脚本的当前版本进行比较。好的,我明白了。。。我进行了拆分(“\n”)并选择了索引0,其中是版本并进行了检查。太好了,非常感谢。用最好的答案结束它