小编Ada*_*tan的帖子

Python多对一映射(创建等价类)

我有一个将一个数据库转换为另一个数据库的项目 其中一个原始数据库列定义行的类别.此列应映射到新数据库中的新类别.

例如,我们假设原始类别是:parrot, spam, cheese_shop, Cleese, Gilliam, Palin

现在这对我来说有点冗长,而且我希望将这些行分类为sketch, actor- 也就是说,将所有草图和所有actor定义为两个等价类.

>>> monty={'parrot':'sketch', 'spam':'sketch', 'cheese_shop':'sketch', 
'Cleese':'actor', 'Gilliam':'actor', 'Palin':'actor'}
>>> monty
{'Gilliam': 'actor', 'Cleese': 'actor', 'parrot': 'sketch', 'spam': 'sketch', 
'Palin': 'actor', 'cheese_shop': 'sketch'}
Run Code Online (Sandbox Code Playgroud)

这很尴尬 - 我更喜欢这样的东西:

monty={ ('parrot','spam','cheese_shop'): 'sketch', 
        ('Cleese', 'Gilliam', 'Palin') : 'actors'}
Run Code Online (Sandbox Code Playgroud)

但是,这当然将整个元组设置为关键:

>>> monty['parrot']

Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    monty['parrot']
KeyError: 'parrot'
Run Code Online (Sandbox Code Playgroud)

如何在Python中创建优雅的多对一字典?

谢谢,

亚当

python many-to-one equivalence-classes

12
推荐指数
2
解决办法
8228
查看次数

什么是Android资产?

我正在迈出Android开发的第一步,并遇到了资产这个术语.

据我所知,Asset只是一个未被解析或作为资源引用的文件.

是否有更准确的术语定义?我应该在哪些场景中使用我的应用程序中的资产?

android-assets

12
推荐指数
1
解决办法
5236
查看次数

几个小时后,Android SDK从GCM收到NotRegistered错误

问题

我正在编写和Android SDK,它应该从SDK服务器端接收GCM推送消息.成功推送消息发送几个小时后,GCM服务器返回NotRegistered错误:

{
    "multicast_id":6205350692941230304,
    "success":0,
    "failure":1,
    "canonical_ids":0,
    "results":
    [
        {
            "error":"NotRegistered"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

registrationId在客户端并没有改变,而在服务器端与该令牌更新.

我该如何解决这个registrationId问题?有两个听众 - 一个在SDK中,一个在应用程序中 - 一个问题?

建筑

我的Android SDK regId在初始化时注册GCM ,并将该id发送到支持SDK的服务器.

拥抱应用程序可能(通常会)注册regId自己的GCM .另一个regId可能被发送到拥抱应用程序的服务器.

senderIdSDK和应用程序的不同.

履行

表现

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> ...

    <receiver
        android:name="com.xxxx.xxxxx.xxxxx"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

注册码

protected String doInBackground(Void... params) {
    String msg = "";
    try {
        if (gcm == null) {
            gcm = GoogleCloudMessaging.getInstance(mContext);
        }
        regid …
Run Code Online (Sandbox Code Playgroud)

sdk android google-cloud-messaging

12
推荐指数
1
解决办法
3077
查看次数

如何使用vhost"/"进行RabbitMQ API调用?

以下对RabbitMQ的API调用:

http -a USER:PASS localhost:15001/api/queues/
Run Code Online (Sandbox Code Playgroud)

返回队列列表:

[
    {
         ...
         "messages_unacknowledged_ram": 0,
         "name": "foo_queue",
         "node": "rabbit@queue-monster-01",
         "policy": "",
         "state": "running",
         "vhost": "/"
     },
     ...
]
Run Code Online (Sandbox Code Playgroud)

请注意,vhost参数是/.

如何使用a / vhost进行/api/queues/vhost/name调用,返回特定队列的详细信息?

我试过了:

  • localhost:15001/api/queues/\//foo_queue
  • localhost:15001/api/queues///foo_queue

但都失败了404 Object Not Found:

在此输入图像描述

api url-encoding rabbitmq

12
推荐指数
1
解决办法
3908
查看次数

Android/Firebase调试签名证书SHA-1的用途

在此输入图像描述

Debug signing certificate SHA-1注册新应用时,最新的Firebase云消息传递面板具有可选字段.表单声明证书是:

在Auth中需要动态链接,邀请和Google登录支持.在"设置"中编辑SHA-1.

关于如何获取证书有许多在线资源(示例),但我找不到关于其目的的正确解释,发布和调试之间的区别是什么,以及Firebase为什么只采用后者.

SHA-1证书的目的是什么,发布版本和调试版本之间有什么区别?

android sha1 firebase

12
推荐指数
1
解决办法
3828
查看次数

Python:读取每个键多行的配置文件

我正在编写一个小型数据库测试套件,它使用查询和预期结果读取配置文件,例如:

query         = "SELECT * from cities WHERE name='Unknown';"
count         = 0
level         = 1
name          = "Check for cities whose name should be null"
suggested_fix = "UPDATE cities SET name=NULL WHERE name='Unknown';"
Run Code Online (Sandbox Code Playgroud)

这很好用; 我使用Python划分每一行string.partition('=').

我的问题是SQL查询很长.目前,我只是将这些查询粘贴为单行,这是丑陋且无法维护的.

我希望找到一种优雅的Pythonic方式来阅读表达的权利,即使跨越多行.

笔记:

  • 我的SQL查询可能包含 =
  • 我不喜欢在"右手边强迫s 的想法,因为有许多没有它的现有文件.

编辑:

ConfigParser很棒,但它强制我在多行条目的每一行的开头添加一个空格或制表符.这可能是一个巨大的痛苦.

提前致谢,

亚当

python sql configuration-files text-parsing

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

Python的str.strip()的Java等价物

假设我想删除所有"周围的字符串.在Python中,我会:

>>> s='"Don\'t need the quotes"'
>>> print s
"Don't need the quotes"
>>> print s.strip('"')
Don't need the quotes
Run Code Online (Sandbox Code Playgroud)

如果我想删除多个字符,例如"括号:

>> s='"(Don\'t need quotes and parens)"'
>>> print s
"(Don't need quotes and parens)"
>>> print s.strip('"()')
Don't need quotes and parens
Run Code Online (Sandbox Code Playgroud)

在Java中删除字符串的优雅方法是什么?

java string

11
推荐指数
2
解决办法
2万
查看次数

Git:以UTC显示日期

以下命令以json格式显示有关上一次git提交的一些元数据:

git show --quiet HEAD --pretty=format:"{\"hash\":\"%h\", \"author\":\"%cn\", \"commit date\":\"%cd\"}"

{
  "hash":"0fc0fc0", 
  "author":"Adam Matan",
  "commit date":"Sun Jan 26 12:26:19 2014 +0200"}
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在UTC/GMT时区中显示日期,例如"Sun Jan 26 10:26:19 2014"

git metadata utc

11
推荐指数
2
解决办法
3064
查看次数

Flask:后台线程将非空队列视为空

当我在uwsgi中运行Flask应用程序时,后台线程和应用程序函数在查询同一队列的大小时会看到不同的值.

组件

  • 带有线程安全队列的 Flask应用程序.
  • 一个GET调用返回队列的大小.
  • POST呼叫添加到队列的元素.
  • 后台线程打印队列大小

问题

当应用程序来自shell时python tester.py,我得到了预期的结果:

2014-06-07 14:20:50.677995 Queue size is: 0
127.0.0.1 - - [07/Jun/2014 14:20:51] "POST /addMessage/X HTTP/1.1" 200 -
2014-06-07 14:20:51.679277 Queue size is: 1
2014-06-07 14:20:52.680425 Queue size is: 1
2014-06-07 14:20:53.681566 Queue size is: 1
2014-06-07 14:20:54.682708 Queue size is: 1
127.0.0.1 - - [07/Jun/2014 14:20:55] "POST /addMessage/Y HTTP/1.1" 200 -
2014-06-07 14:20:55.687755 Queue size is: 2
2014-06-07 14:20:56.688867 Queue size is: 2
Run Code Online (Sandbox Code Playgroud)

但是,当使用app执行时 …

python multithreading flask uwsgi

11
推荐指数
1
解决办法
2051
查看次数

Sphinx:在笔记部分后继续列表编号

请考虑ReStructuredText中的以下列表:

Broken list example
-------------------

#. First do spam
#. Then do ``eggs``

  .. note::

    Nobody expects the Spanish Inquisistion

#. The list restarts after the note
Run Code Online (Sandbox Code Playgroud)

Sphinx中编译列表时,注释后的数字将重置为1:

列表编号重启结果截图

任何想法如何在一note节后继续编号列表?

restructuredtext python-sphinx continuation numbered-list

11
推荐指数
1
解决办法
1907
查看次数