相关疑难解决方法(0)

'b'字符在字符串文字前面做了什么?

显然,以下是有效的语法

my_string = b'The string'
Run Code Online (Sandbox Code Playgroud)

我想知道:

  1. 这是什么b字在前面的字符串是什么意思?
  2. 使用它有什么影响?
  3. 使用它的适当情况是什么?

我在SO上找到了一个相关的问题,但是这个问题是关于PHP的,它表示b用于表示字符串是二进制的,而不是Unicode,这是代码与PHP版本兼容所需的代码<6 ,当迁移到PHP 6.我不认为这适用于Python.

我确实在Python网站上找到了关于使用相同语法的字符将字符串指定为Unicode的文档u.不幸的是,它没有提到该文档中任何地方的b字符.

而且,只是出于好奇,有没有比多符号bu是做其他事情?

python string unicode binary

724
推荐指数
10
解决办法
49万
查看次数

从 Django 中的 JsonResponse 获取数据

我想知道如何从 Django 中的 JsonResponse 获取数据。我做了一个像这样工作的 JsonResponse

def pfmdetail(rsid):
   snpid = parseSet(rsid)
   if not snpid:
      return HttpResponse(status=404)
   try:
      data = SnpsPfm.objects.values('start', 'strand', 'type', 'scoreref', 'scorealt', 
                    rsid=F('snpid__rsid'), pfm_name=F('pfmid__name')).filter(snpid=snpid[0])
   except SnpsPfm.DoesNotExist:
      return HttpResponse(status=404)
   serializer = SnpsPfmSerializer(data, many=True)
   return JsonResponse(serializer.data, safe=False)
Run Code Online (Sandbox Code Playgroud)

然后我直接调用这样的方法

def pfmTable(qset,detail):
   source = pfmdetail(detail)
   print(source)
   df = pd.read_json(source)
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误。我知道这是错误的,因为打印时它返回响应的状态,即 200,所以我认为响应很好,但我如何访问响应中的数据?我试图import json这样做,json.load但没有成功。我什至尝试了 QueryDict 的方法,但仍然无法访问我感兴趣的内容

PS 我知道它data包含一些东西,因为如果我在浏览器上显示 jsonresponse 我可以看到 JSON

django

3
推荐指数
1
解决办法
2451
查看次数

标签 统计

binary ×1

django ×1

python ×1

string ×1

unicode ×1