小编Dan*_*l F的帖子

从android中的Sqlite数据库中检索null值

伙计们我已经在sqlite数据库的列中存储了一个空值

存储的值是 return "null"

现在使用以下代码来检索它

int i = resultSet.getInt(resultSet.getColumnIndex(columnName));
String str = resultSet.getString(resultSet.getColumnIndex(columnName));
boolean bool = resultSet.isNull(resultSet.getColumnIndex(columnName));

if( str == null ) {
    return -1;
}            
return i;
Run Code Online (Sandbox Code Playgroud)

调试器显示的值 str = "null"

但这种情况不起作用 str == null , str == "" , str == "null"

任何人都可以给我一个什么做点什么..

resultset.isNull给了我假值.

那么如何在数据库中存储null,其次如果我使用"null"那么我怎样才能使这个条件工作.

java eclipse sqlite android

4
推荐指数
1
解决办法
2555
查看次数

如何将关键字参数传递给reactor.callLater

我想用reactor.callLater调用一个函数,方法是将所有变量按关键字传递,而不按索引传递.

reactor.callLater(0, some_function, kw={'foo':'bar'})
Run Code Online (Sandbox Code Playgroud)

这会产生错误,因为不期望kw

...
File "C:\App\Python27\lib\site-packages\twisted\internet\base.py", line 800, in runUntilCurrent
    call.func(*call.args, **call.kw)
exceptions.TypeError: function_result() got an unexpected keyword argument 'kw'
Run Code Online (Sandbox Code Playgroud)

这些是文档:http: //twistedmatrix.com/documents/8.1.0/api/twisted.internet.interfaces.IReactorTime.html#callLater

我能做些什么呢?

python twisted

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

在Python中,如何对嵌套列表求和:[[1,0],[1,1],[1,0]]→[3,1]

我有一个阵列的形式

a = [[1, 0], [1, 1], [0, 0], [0, 1], [1, 0]]
Run Code Online (Sandbox Code Playgroud)

我需要在嵌套列表中对相同索引的所有值求和,以便上面得出

[3,2]
Run Code Online (Sandbox Code Playgroud)

这可以通过以下代码来实现

b = [0]*len(a[0])
for x in a:
  b = map(sum, zip(b,x))
Run Code Online (Sandbox Code Playgroud)

由于a包含数百个列表,我想知道是否有更好的方法来做到这一点.这些嵌套列表在每个运行中总是具有相同的长度,在上面的示例2中,但它可能只是1或3或更多,因此初始化b[0]*len(a[0]).

不同长度的示例如下:

# nested lists always have 3 items
a = [[1, 0, 1], [1, 1, 1], [0, 0, 1], [0, 1, 1], [1, 0, 0]]
# result: [3, 2, 4]

# nested lists always have 1 item
a = [[1], [1], [0], [0], [1]]
# result: …
Run Code Online (Sandbox Code Playgroud)

python list

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

有没有办法在声明之后调用箭头函数?

有时我想为一个变量分配一个箭头函数的结果,但是如果我将箭头函数分配给该变量,它就会得到函数而不是该函数的返回,这是显而易见的.

let theNumber2 = ()=>{return 2};
Run Code Online (Sandbox Code Playgroud)

theNumber2将包含该功能,只有我这样做theNumber2()才会返回2.

有没有办法做这样的事情直接返回箭头功能?例如:

let theNumber2 = ()=>{return 2}(); // Note the () at the final
Run Code Online (Sandbox Code Playgroud)

有没有可做的事情?我的意思是,分配箭头函数调用?

javascript ecmascript-6 arrow-functions

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

为什么需要重新引发 asyncio.CancelledError ?

我有以下aiohttpWebSocket 处理程序:

async def websocket_handler(request):
  ws = None
  
  if 'my-websocket-clients' not in request.app:
    request.app['my-websocket-clients'] = []
  
  print('Websocket connection starting', request.path, request.query)
  
  try:
    ws = aiohttp.web.WebSocketResponse(autoping=True, heartbeat=10.0, compress=True)
    await ws.prepare(request)
    request.app['my-websocket-clients'].append(ws)
    print('Websocket connection ready', len(request.app['my-websocket-clients']))
    async for msg in ws:
      await websocket_message(request, ws, msg)
  except asyncio.exceptions.CancelledError as e:
    print('Websocket connection was closed uncleanly ' + str(e))
    # ~~~~~~ re-raise here? ~~~~~~
  except:
    traceback.print_exc()
  finally:
    try:
      await ws.close()
    except:
      traceback.print_exc()
  
  if ws in request.app['my-websocket-clients']:
    request.app['my-websocket-clients'].remove(ws)
  
  print('Websocket connection closed', len(request.app['my-websocket-clients']))
  
  if …
Run Code Online (Sandbox Code Playgroud)

python exception websocket python-asyncio aiohttp

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

使用 python-jose 将 Python 后端从 Gitkit 迁移到 Firebase-Auth 以进行令牌验证

在 GitHub 上,一位乐于助人的 Google 开发人员告诉我

要创建用户会话,您的 python 后端服务器只需要一个 JWT 库来验证请求中的 Firebase Auth 令牌(签名和受众)并从令牌负载中提取用户信息。

我在验证令牌时遇到问题。

这就是我所在的地方;为了开始迁移,我按照以下步骤进行:

  1. 我将 Firebase-Auth 添加到 Android 应用程序中,同时应用程序中仍保留有 Gitkit,直到 Firebase-Auth 正常工作。现在我有两个登录按钮,一个用于登录 Firebase,另一个用于“几乎已弃用”的 Gitkit。

  2. 在 firebase.com 上,我将 Google 项目导入到新的 Firebase 项目中,因此用户数据库是相同的。我已经成功在 Android 应用程序中使用 Firebase-Auth,能够以已知用户身份登录,并且可以通过调用 成功检索后端服务器所需的令牌mFirebaseAuth.getCurrentUser().getToken(false).getResult().getToken()。它包含user_id与 GitKit 令牌相同的内容。

现在我正在尝试identity-toolkit-python-clientpython-jose. 由于我目前没有将 Firebase 令牌发送到后端,而仅将 Gitkit 令牌发送到后端,因此我想python-jose在 Gitkit 令牌上测试这个库。

在后端,在调用之前,GitKit.VerifyGitkitToken()我现在打印 和 的结果jose.jwt.get_unverified_header()jose.jwt.get_unverified_claims()以便检查我是否看到了我所期望的结果。结果很好,我能够按照预期查看 Gitkit 令牌的内容。

我的问题来自于验证。我无法用于jose.jwt.decode()验证,因为我不知道需要使用哪个密钥

jose.jwt.decode(token, key, algorithms=None, options=None, audience=None, issuer=None, subject=None, …

python migration jwt firebase-authentication gitkit

2
推荐指数
1
解决办法
1157
查看次数

Android:使用com.google.firebase将Android Studio升级到2.2后找不到FirebaseUser,AuthCredential和其他内容:firebase-auth:9.4.0

我刚刚将Android Studio升级到2.2版,我在稳定的频道上.

然后我被撞击的版本调整build.grade文件compile 'com.google.firebase:firebase-auth:x.x.x'9.4.0,这是目前最新的版本.

同步项目后,我无法再使用了

import com.google.firebase.auth.AuthCredential;

import com.google.firebase.auth.AuthResult;

import com.google.firebase.auth.FirebaseUser;

Firebase的在线文档未提及与此问题相关的任何内容.

这可能会发生什么?

android upgrade firebase firebase-authentication android-studio-2.2

2
推荐指数
1
解决办法
3318
查看次数

Python:根据替换字典/替换映射替换字符串列表中的匹配项

什么是最好的方法来实现这个目标:

original_list = ["word_1", "word_2", "word"]
replacements = {
  'word_1': 'something',
  'word': 'number'
}
updated_list = replace_in_list(original_list, replacements)
Run Code Online (Sandbox Code Playgroud)

哪里

updated_list == ["something", "word_2", "number"]
Run Code Online (Sandbox Code Playgroud)

python dictionary replace list

2
推荐指数
1
解决办法
102
查看次数

Python嵌套列表解析,用于计算列表中相同字符串的出现次数

我需要转换以下列表:

[
  [u'starred', u'review'],
  [u'starred', u'review'],
  [u'starred', u'review', u'pinned'],
  [u'starred'],
  [u'starred'],
  [u'starred', u'review']
]
Run Code Online (Sandbox Code Playgroud)

进入下面的词典

{
  u'starred': 6,
  u'review': 4,
  u'pinned': 1
}
Run Code Online (Sandbox Code Playgroud)

我觉得应该可以使用列表理解或生成器表达式,但我不确定.

有任何想法吗?

python list-comprehension generator nested-lists

2
推荐指数
1
解决办法
321
查看次数

从映像到主机的Dockerfile COPY

我有一个Dockerfile,其中我首先在一个层中编译Mosquitto服务器,然后使用COPY将身份验证插件的源文件复制到映像中,最后运行该插件的编译。

总而言之,生成的图像很适合在容器中使用,然后容器中装有该插件运行的Mosquitto服务器。

我想修改此插件并通过重新运行Dockerfile的构建来重新编译它。由于第一层未修改,因此它仅复制修改后的文件并再次运行编译。

我现在要做的是从新映像中提取插件(.so文件),并将其移动到主机上的挂载目录,这样,当前正在运行的Mosquitto服务器将只需要重新启动即可。

是否可以反向使用COPY命令,以便将编译后的插件复制到指定的主机目录,以便随后删除新创建的映像?

还是这完全是一种不好的做法?我是否应该更好地执行到正在运行的容器中并让其重新构建插件(这将使我只能在运行服务器的计算机上构建插件)?

copy docker docker-build

2
推荐指数
1
解决办法
3634
查看次数