小编dis*_*ive的帖子

在Django模板中按键访问字典

我将字典从我的视图传递给模板.所以{"key1":"value1","key2":"value2"}传入并循环遍历键,值对很好,但是我没有找到一个优雅的解决方案,直接从特定键的视图访问"key1",例如bu json.items ["key1"].我可以使用一些if/then语句,但我宁愿做直接有一种方法吗?

这是html模板中的循环代码:

{% for key, value in json.items %} 
  <li>{{key}} - {{value}}</li>
 {% endfor %}
Run Code Online (Sandbox Code Playgroud)

python django json

54
推荐指数
4
解决办法
7万
查看次数

循环Python的列表理解

我使用了很多N维数组,并且编写这样的缩进代码会很麻烦,我知道一些代码可以用列表推导和内联语句替换.例如:

for x in (0,1,2,3):
    for y in (0,1,2,3):
        if x < y:
            print (x, y, x*y)
Run Code Online (Sandbox Code Playgroud)

可以替换为:

print [(x, y, x * y) for x in (0,1,2,3) for y in (0,1,2,3) if x < y]
Run Code Online (Sandbox Code Playgroud)

但是我怎么能改变动作而不是打印来做其他事情:

total = x+y
Run Code Online (Sandbox Code Playgroud)

所以我想做的是:

[(total+=x+y) for x in (0,1,2,3) for y in (0,1,2,3) if x < y]
Run Code Online (Sandbox Code Playgroud)

但这不起作用

是否有一种聪明的方法来做到这一点,而不是:

for x in (0,1,2,3):
        for y in (0,1,2,3):
            if x < y:
                total+=x+y
Run Code Online (Sandbox Code Playgroud)

python inline list-comprehension

26
推荐指数
3
解决办法
6万
查看次数

limit()和sort()命令pymongo和mongodb

尽管阅读了人们的答案,说明排序是先完成的,但证据显示的不同之处在于排序之前的限制.有没有办法强制排序总是先?

views = mongo.db.view_logging.find().sort([('count', 1)]).limit(10)
Run Code Online (Sandbox Code Playgroud)

无论我使用.sort().limit()or .limit().sort(),限制都优先.我想知道这是否与pymongo...有关...

python mongodb pymongo

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

安装自定义构建heroku并使用库路径发出问题

我正在尝试在heroku上安装自定义构建,所以我使用各种方法尝试使用buildpacks进行第三方安装.在我的.buildpacks文件中,我有:

https://github.com/ddollar/heroku-buildpack-apt
https://github.com/heroku/heroku-buildpack-python.git
Run Code Online (Sandbox Code Playgroud)

在我的Aptfile我有以下内容:libgeoip-dev这是geoip的先决条件,与requirements.txt(GeoIP==1.3.2)一起安装

这是我的环境变量:

remote: C_INCLUDE_PATH is /app/.heroku/vendor/include:/app/.heroku/vendor/include:/app/.heroku/python/include
remote: CPATH is /tmp/build_xxxxx/.apt/usr/include:
remote: LD_LIBRARY_PATH is /app/.heroku/vendor/lib:/app/.heroku/vendor/lib:/app/.heroku/python/lib
Run Code Online (Sandbox Code Playgroud)

我得到的错误消息是:

remote:        building 'GeoIP' extension
remote:        creating build
remote:        creating build/temp.linux-x86_64-2.7
remote:        gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/app/.heroku/python/include/python2.7 -c py_GeoIP.c -o build/temp.linux-x86_64-2.7/py_GeoIP.o -fno-strict-aliasing
remote:        creating build/lib.linux-x86_64-2.7
remote:        gcc -pthread -shared build/temp.linux-x86_64-2.7/py_GeoIP.o -lGeoIP -o build/lib.linux-x86_64-2.7/GeoIP.so
remote:        /usr/bin/ld: cannot find -lGeoIP
remote:        collect2: error: ld returned 1 exit status
remote: …
Run Code Online (Sandbox Code Playgroud)

python heroku geoip buildpack

19
推荐指数
1
解决办法
971
查看次数

增加Matplotlib中x轴标签的空间

我正在密谋,但发现我需要增加图表下方的区域,以便我可以垂直绘制标签,但字体大小不是那么小.目前,我有:

plt.figure(count_fig) fig, ax = plt.subplots() 
rects1 = ax.bar(ind, ratio_lst, width, color='r', linewidth=1, alpha=0.8, log=1) 
ax.set_ylabel('') 
ax.set_title('') 
ax.set_xticks(ind_width) 
ax.set_xticklabels(labels_lst, rotation='vertical', fontsize=6)
Run Code Online (Sandbox Code Playgroud)

目前它的工作原理,但标签经常在情节的边缘流失.

python matplotlib

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

使用pika的python中的SparkStreaming,RabbitMQ和MQTT

只是为了让事情变得棘手,我想使用来自rabbitMQ队列的消息.现在我知道有一个针对兔子的MQTT插件(https://www.rabbitmq.com/mqtt.html).

但是,我似乎无法在Spark消耗由pika生成的消息的情况下进行示例工作.

例如,我在这里使用简单的wordcount.py程序(https://spark.apache.org/docs/1.2.0/streaming-programming-guide.html),看看我是否可以在下面看到一个消息生产者办法:

import sys
import pika
import json
import future
import pprofile

def sendJson(json):

  connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
  channel = connection.channel()

  channel.queue_declare(queue='analytics', durable=True)
  channel.queue_bind(exchange='analytics_exchange',
                       queue='analytics')

  channel.basic_publish(exchange='analytics_exchange', routing_key='analytics',body=json)
  connection.close()

if __name__ == "__main__":
  with open(sys.argv[1],'r') as json_file:
    sendJson(json_file.read())
Run Code Online (Sandbox Code Playgroud)

Sparkstreaming 消费者如下:

import sys
import operator

from pyspark import SparkContext
from pyspark.streaming import StreamingContext
from pyspark.streaming.mqtt import MQTTUtils

sc = SparkContext(appName="SS")
sc.setLogLevel("ERROR")
ssc = StreamingContext(sc, 1)
ssc.checkpoint("checkpoint")
#ssc.setLogLevel("ERROR")


#RabbitMQ

"""EXCHANGE = 'analytics_exchange'
EXCHANGE_TYPE = 'direct'
QUEUE …
Run Code Online (Sandbox Code Playgroud)

python rabbitmq mqtt pika apache-spark

15
推荐指数
1
解决办法
2764
查看次数

MongoDB Enterprise无法启动Wired Tiger作为服务

我安装了WiredTiger,但发现我无法使用标准启动数据库:

sudo service mongod start
Run Code Online (Sandbox Code Playgroud)

看来我查看日志文件(tail /var/log/mongodb/mongod.log):

2016-08-01T14:48:12.029+0200 I CONTROL  [main] ***** SERVER RESTARTED *****
2016-08-01T14:48:12.032+0200 I CONTROL  [initandlisten] MongoDB starting : pid=1238 port=27017 dbpath=/var/lib/mongodb 64-bit host=xxx
2016-08-01T14:48:12.032+0200 I CONTROL  [initandlisten] db version v3.2.8
2016-08-01T14:48:12.032+0200 I CONTROL  [initandlisten] git version: ed70e33130c977bda0024c125b56d159573dbaf0
2016-08-01T14:48:12.032+0200 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2g-fips  1 Mar 2016
2016-08-01T14:48:12.032+0200 I CONTROL  [initandlisten] allocator: tcmalloc
2016-08-01T14:48:12.032+0200 I CONTROL  [initandlisten] modules: enterprise 
2016-08-01T14:48:12.032+0200 I CONTROL  [initandlisten] build environment:
2016-08-01T14:48:12.032+0200 I CONTROL  [initandlisten]     distmod: ubuntu1604
2016-08-01T14:48:12.032+0200 I CONTROL  [initandlisten] …
Run Code Online (Sandbox Code Playgroud)

ubuntu mongodb

15
推荐指数
1
解决办法
982
查看次数

Visual Studio 2012不会让我退出TFS,因此我可以输入新的用户名/密码

由于冲突,我一直在尝试从机器断开连接或删除我的凭据.但是,在连接到远程TFS服务器时,我被要求提供凭据,我无法找到退出TFS的方法并使用新凭据登录以进行解析.如何删除凭据或只是以其他用户身份登录TFS.由于我们存在映射冲突问题,这让我们感到疯狂.

目前,TFS和VS的登录与机器的登录不同.有没有办法我可以重新开始.

tfs visual-studio visual-studio-2012

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

使用python在Heroku上启用压缩

谷歌现在因为不那么适合移动设备而受到惩罚.因此,为了使事情变得更好,它建议我使用Gzip或Deflate压缩我的大量Javascript.我已经看到了一些关于堆栈溢出的旧建议,但没有任何开箱即用的东西,我试图搜索附加组件,但到目前为止似乎没有什么可以做到这一点.压缩或启用gzip最不痛苦和最强大的是什么?

以下是Google建议我做的事情:

启用压缩使用gzip或deflate压缩资源可以减少通过网络发送的字节数.为以下资源启用压缩,将传输大小减少420KiB(减少74%).

我正在使用Django,如果这更容易.

python gzip heroku deflate

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

从id中删除PyMongo中的文档

我似乎在努力寻找删除文档的正确方法.即我应该使用remove()或delete_one(),以及通过id删除的规范方法是什么,这是一个string.

即我应该使用以下内容:

mongo.db.xxx.delete_one({'_id': { "$oid" : str(_id) } })
Run Code Online (Sandbox Code Playgroud)

或者我可以使用其他格式?

mongo.db.xxx.remove({'_id': { "$oid" : str(_id) } })
mongo.db.xxx.remove({'_id': ObjectId(_id) })
Run Code Online (Sandbox Code Playgroud)

什么是规范形式?

mongodb pymongo

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