Использование python3 для установки Git - > Если операторы / Ошибка чтения файла

В рамках более крупной программы я использую 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

Спасибо за любые советы, которые вы можете предложить!

3
задан 15 April 2011 в 22:43

1 ответ

Да, это может произойти (компьютеры, как правило, делают очень мало ошибок; -)

Скорее всего, к вашей переменной git добавлен символ новой строки. Так что это ни «нет», ни «да», а «нет \ n»

Вы можете также запросить git.rstrip () == «нет», который бы отбил любой пробел (пробел, табуляции новой строки) или вы можете попытаться проверить другим способом наличие git. Возможно, запустите 'git --version' и посмотрите, получится ли у него что-то разумное или нет.

Дайте нам знать, если вам нужна помощь с последним подходом.

0
ответ дан 15 April 2011 в 22:43

Другие вопросы по тегам:

Похожие вопросы: