Hocam tekrardan merhaba. Sizin örnek üzerinde biraz düşünüp değişiklik yaptım. Scriptleri karşılaştırmaktansa tekrardan versiyonları karşılaştırıp güncel olan .exe yi indirtebildim.(değişiklik şurda .json değilde [aslında sonradan değiştirilebilir] .txt dosyası olarak belirledim ve x
modunda açtım[bir kullanıcıda bu txt
dosyası bulunmayacağı için bu mod sayesinde kullanıcıda oluşturulucak] try-except
bloklarında yapmaya karar verdim.[çünkü x modunda bir dosyayı açtıktan sonra birkez daha o modda açınca zaten böyle bir şeyin var olduğuna benzer anlamda bir hata veriyordu o hatayı yakalayıp varsa güncelle ve sürüm eşitse de güncelleme gibi işlemleri yaptım ]) Teşekkür ediyorum… farklı düşündürttüğünüz için @Cihat_Altiparmak,
Size de teşekkür ederim @Alperen_CAVUS yardım ederken açıklayıcı cümlelerde bulunduğunuz için
şöyle kodları bırakayım ihtiyacı olan kullansın veya örnek teşkil etmesi açısından bulunsun:
from urllib.request import urlopen
import urllib.error
from getpass import getuser
import requests
try:
with open("C:\\Users\\"+getuser()+"\\Desktop\\Coding\\Dogaclama\\4-proje\\versiyon.txt","x") as z:
pass
except FileExistsError:
version_url = "https://raw.githubusercontent.com/Arif-Helmsys/test/main/version.txt"
exe_url = "https://github.com/Arif-Helmsys/test/blob/main/uygulama.exe?raw=true"
r = requests.get(exe_url, allow_redirects=True)
url = urlopen(version_url)
info = url.read().decode()
with open("C:\\Users\\"+getuser()+"\\Desktop\\Coding\\Dogaclama\\4-proje\\versiyon.txt","r") as f:
f.seek(0)
docs = f.read()
if info == docs:
print("güncel")
else:
print("Güncel Değil")
with open("C:\\Users\\"+getuser()+"\\Desktop\\Coding\\Dogaclama\\4-proje\\versiyon.txt","w") as h:
h.write(info)
with open("C:\\Users\\"+getuser()+"\\Desktop\\Coding\\Dogaclama\\4-proje\\uygulama.exe","wb") as g:
g.write(r.content)
print("Güncellendi!!!!")
except urllib.error.URLError:
print("hata internet bağlantınızı kontrol edin")