2017-04-27 22 views
0

私はPython 2.7でスクリプトを開発しています。私はスクリプトがgithubを介して常に最新であることを確認したい。 私が試したのは、github上に最新のバージョン番号を入れたファイルを作成し、pythonスクリプトでそのファイルをダウンロードし、プログラムのバージョン番号と比較することです。これは現在のスクリプトですが、実際には機能しません。Pythonでスクリプト/プログラムのバージョンを確認してください。

import sys 
import os 
import urllib 
current_version = """1.4""" 
print ("\a") 
print ("Checking for latest verion..") 
urllib.urlretrieve ("https://raw.githubusercontent.com/[myname]/[myproject]/master/version_latest", "version_latest") 
version = open('version_latest', 'r').read() 
if version == current_version: 
    vlatest = "1" 
else: 
    vlatest = "2" 

if vlatest == 2: 
    print ("Please get the latest version of this program here:") 
    print ("https://github.com/[myname]/[myproject]") 
    print ("You can't use the program without it!") 
    print ("\a") 
    os.system("start https://github.com/[myname]/[myproject]") 
    raw_input("Press enter to exit") 
    sys.exit() 
else: 
    print ("You have the latest verion! Program will start automaticly!") 

ありがとうございます!

+0

'vlatest'(文字列)と' 2'を比較しています。 'if'は常に' else'ブランチに入ります。 –

答えて

0

変更 if vlatest == 2 if vlatest == "2"

するには、異なるタイプを使用しているので、彼らは同じではありません。 同じタイプを使用しても問題ありません。

+0

ありがとう!これはうまくいった:D – jollesnaas

1

何かエラーが発生します。 しかし、私が見ることができるのは、バージョンnoを文字列として割り当て、if条件で整数としてチェックしていることです。 したがって、int()メソッドでintに変換するか、整数を文字列に変換するか、str(2)#2はバージョン番号です。

代替方法:

しかし、あなたは、単にバージョンなしが1.4である場合にだけ、それもありませんあまりにもバージョンが含まれているようにparsing_1_4.pyのようなものをPythonスクリプトに名前を付け、一つのことを行うことができます。これにより、スクリプトを開く必要はありません。Pythonファイルの名前を確認し、バージョン番号&を解析して、ファイルに保存されていないバージョンと比較します。それらが同等であれば、それ以外の場合はスクリプトを更新し、スクリプト名も更新するようにメモします(新しいバージョン番号)。

関連する問題