code: def get_fp_raw():
      '''
          生成fp_raw_str
      '''
      fp_file_path = os.path.expanduser('~/.xunleipy_fp')
      fp_list = []
      try:
          with open(fp_file_path, 'r') as fp_file:
              fp_str = fp_file.readline()
              if len(fp_str) > 0:
                  fp_list = fp_str.split('###')
      except IOError:
          pass
  
      if len(fp_list) < 14:
          fp_list = _get_random_fp_raw()
          fp_str = '###'.join(fp_list)
          with open(fp_file_path, 'w') as fp_file:
              fp_file.write(fp_str)
  
      source = fp_str.strip()
      if six.PY3:
          source = source.encode('utf-8')
  
      fp_raw = base64.b64encode(source)
      return fp_raf get_fp_raw():
      '''
          生成fp_raw_str
      '''
      fp_file_path = os.path.expanduser('~/.xunleipy_fp')
      fp_list = []
      try:
          with open(fp_file_path, 'r') as fp_file:
              fp_str = fp_file.readline()
              if len(fp_str) > 0:
                  fp_list = fp_str.split('###')
      except IOError:
          pass
  
      if len(fp_list) < 14:
          fp_list = _get_random_fp_raw()
          fp_str = '###'.join(fp_list)
          with open(fp_file_path, 'w') as fp_file:
              fp_file.write(fp_str)
  
      source = fp_str.strip()
      if six.PY3:
          source = source.encode('utf-8')
  
      fp_raw = base64.b64encode(source)
      return fp_raw
docs: 生成fp_raw_str