В рамках более крупной программы я использую git для проверки самой программы на наличие обновлений. Конечно, для этого пользователю понадобится установить git. Я создал небольшой кусочек кода Python3, чтобы проверить, установил ли пользователь git, но, похоже, он не работает:
import linecache
import time
import os
git = linecache.getline('info.txt', 2)
if git == 'no':
git-ask=input('Is Git Installed? <y/n>\n')
if git-ask == 'n':
print('Installing Git.')
os.system('apt-get install git-core')
elif git-ask == 'y':
print("Checking For Updates...")
elif git == "yes":
print("Checking For Updates...")
else:
print("Error: 'GitInfoError'")
print("Please Contact Eden About This Error: EdenC@dev-hq.net")
time.sleep(5)
print("Skipping Updates...")
Программа всегда возвращается к предложению else, которое НИКОГДА не должно происходить! Вот содержание info.txt:
GIT:
no
REBOOT:
no
Спасибо за любые советы, которые вы можете предложить!
Да, это может произойти (компьютеры, как правило, делают очень мало ошибок; -)
Скорее всего, к вашей переменной git добавлен символ новой строки. Так что это ни «нет», ни «да», а «нет \ n»
Вы можете также запросить git.rstrip () == «нет», который бы отбил любой пробел (пробел, табуляции новой строки) или вы можете попытаться проверить другим способом наличие git. Возможно, запустите 'git --version' и посмотрите, получится ли у него что-то разумное или нет.
Дайте нам знать, если вам нужна помощь с последним подходом.