Python — не показываются значение

329 просмотра
0
0 Комментариев

Пытаюсь вывести информацию о Raspberry Pi.

    @app.route('/sys_test', methods=['GET'])
    def system_test():
    hostname = subprocess.check_output('uname -n', shell=True).strip()
    linux = subprocess.check_output('uname -o', shell=True).strip()
    cpu_usage = psutil.cpu_percent()
    d = collections.OrderedDict()
    d['status'] = 200
    d['model'] = model_name
    d['revision'] = myrevision
    d['hostname'] = hostname
    d['firmware'] = firmware
    d['version'] = website
    d['linux'] = linux
    d['cpu'] = cpu_usage
    d['systemUptime'] = time.clock()
    d['uptime'] = time.time() - uptime
    return flask_json.dumps(d, sort_keys=False, indent=True)

Выводится все кроме revision и model вот код получения их значений

RaspiName

@app.route('/raspname', methods=['GET'])
def raspiname():
    global model_name
    if myrevision == 'a01041' or 'a21041':
        model_name = 'Pi 2 Model B'
    elif myrevision == 'a02082' or 'a22082':
        model_name = 'Pi 3 Model B'
    elif myrevision == '0002':
        model_name = 'Model B Revision 1.0'
    elif myrevision == '0003':
        model_name = 'Model B Revision 1.0 + ECN0001'
    elif myrevision == '0004' or '0005' or '0006':
        model_name = 'Model B Revision 2.0'
    elif myrevision == '0007' or '0008' or '0009':
        model_name == 'Model A'
    elif myrevision == '000d' or '000e' or '000f':
        model_name = 'Model B Revision 2.0'
    elif myrevision == '0010':
        model_name = 'Model B+'
    elif myrevision == '0011':
        model_name = 'Compute Module'
    elif myrevision == '0012':
        model_name = 'Model A+'
    else:
        model_name = 'Raspberry Pi'
    return 'Model name - %s' % model_name

Model

@app.route('/model', methods=['GET'])
def raspmodel():
  # Extract board revision from cpuinfo file
  global myrevision
  myrevision = "0000"
  try:
    f = open('/proc/cpuinfo','r')
    for line in f:
      if line[0:8]=='Revision':
        length=len(line)
        myrevision = line[11:length-1]
    f.close()
  except:
    myrevision = "0000"
  return 'Revision - %s' % myrevision


Добавить комментарий

1 Ответы

Python Опубликовано 16.12.2018
0

Ошибку я нашел, в данном случае, без вызова двух других функций, глобальная переменная не перезаписывается и остается как » . Для того, чтобы правильно отображались значение в моих двух переменных, нужно было сначала вызвать две других функций.

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up