使用 python3 安装 Git -> If 语句/文件读取错误

使用 python3 安装 Git -> If 语句/文件读取错误

作为一个大型程序的一部分,我正在使用 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: [email protected]")
     time.sleep(5)
     print("Skipping Updates...")

程序总是恢复到 else 子句,这绝不应该发生!以下是 info.txt 的内容:

  GIT:
  no
  REBOOT:
  no

感谢您提供的任何建议!

答案1

是的,这是有可能发生(计算机往往很少犯错误 ;-)

您的变量 git 很可能附加了换行符。因此它既不是 'no' 也不是 'yes',而是 'no\n'

您可以查询 git.rstrip()=='no',这将删除所有空格(空格、换行符),或者您可以尝试通过其他途径检查 git 是否存在。也许可以发出“git --version”,看看它是否返回了合理的结果。

如果您需要后一种方法的帮助,请告知我们。

相关内容