小编Pau*_*ine的帖子

将二进制数切成五位数组

是否有任何巧妙的技巧将二进制数切成python中的五位数组?

'00010100011011101101110100010111'=> ['00010','00110','10111',...]

编辑:我想编写一个密码/编码器,以便生成"易于通过手机阅读"的令牌.标准的base32编码具有以下缺点:

  • 有可能产生意外的f*字
  • 使用像'I','L','O'这样的混乱字符(可能与0和1混淆)
  • 易于猜测的序列("AAAA","AAAB",...)

感谢大家,我能够在20行python中自己动手.我的编码器不使用'I','L','O'和'U',结果序列很难猜测.

python slice

3
推荐指数
2
解决办法
2806
查看次数

D3.Geo在平移/缩放上的表现

去年,我使用Mapnik库(服务器端,位图/平铺)在Web地图上进行了几次实验.现在,我正在尝试使用d3.js的向量,客户端方法复制相同的实验.

我有一张地图(约680个形状),这里zoom很慢而且pan很迟钝(Mike Bostock的这个例子效果很好).我怀疑问题出在zoommove回调中,selectAll("path").attr("d", path)花了太长时间.

function zoommove() {
    projection.translate(d3.event.translate).scale(d3.event.scale);
    mapa.selectAll("path").attr("d", path);
    console.log('zoommove fired...');
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 我在这里做错了吗?
  2. 我该怎么做才能优化表现?

地图是这个(这里jsfiddle):

巴西圣保罗州的市政当局

数据源采用topojson格式.它被简化了,可能已经太多了,因为有些形状没有关闭:

在此输入图像描述

[UPDATE]

看起来即使在没有简化标志的情况下运行topojson时也会出现打开几何的问题,我还在调查.我会很感激这里的任何线索,文档不是很详细.

gis d3.js topojson

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

将HTML转换为Django模板

我想创建一个可以更改html文档的python脚本,我有点迷茫,不知道从哪里开始,我尝试了几项根本行不通的事情,并且认为它不值得将它们张贴在这里。

问题在于,使用Django,最好编写如下所示的链接:

    <link href="{% static 'assets/css/cssfile.css' %}"/>
    <script src="{% static 'assets/js/jsfile.js' %}"></script>
    <img src="{% static 'assets/images/desktop.png' %}"/>
Run Code Online (Sandbox Code Playgroud)

但是我有一个模板,实际上是几个模板,其中包含大量以常规方式引用的静态资产,如下所示:

<link href="assets/css/cssfile.css" rel="stylesheet"/>
<script src="assets/js/jsfile.js"></script>
<img src="assets/images/desktop.png"/>
Run Code Online (Sandbox Code Playgroud)

因此,我一直在尝试创建一个查找“资产”并编辑该行的脚本,替换href="assetshref="{% static'...,然后' %}在末尾添加。我认为对于使用模板的Django开发人员来说,这将是一个非常有价值的脚本,也许它已经存在于某个地方。

有没有任何自动的方法可以将常规href / src属性转换为使用Django标签?

html python

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

用于python 2.4的内置函数bin()的后端程序

我编写了一个使用内置函数bin()的程序,但是这个函数在Python 2.6版本中是新的,我想在Python版本2.4和2.5中运行这个应用程序.

2.4的bin()有一些后端吗?

python binary backport built-in

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

Python:如何使用string.translate()来替换引号?(用于"slug"创作)

我想从字符串中删除所有奇怪的字符,使其"url safe".因此,我有一个这样的功能:

def urlize(url, safe=u''):
   intab =  u"àáâãäåòóôõöøèéêëçìíîïùúûüÿñ" + safe
   outtab = u"aaaaaaooooooeeeeciiiiuuuuyn" + safe
   trantab = dict((ord(a), b) for a, b in zip(intab, outtab))
   return url.lower().translate(trantab).strip()
Run Code Online (Sandbox Code Playgroud)

这很好用,但现在我想重用那个功能来允许特殊字符.例如,引号.

urlize(u'This is sóme randóm "text" that í wánt to process',u'"')
Run Code Online (Sandbox Code Playgroud)

...并抛出以下错误:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: expected a character buffer object
Run Code Online (Sandbox Code Playgroud)

我试过了,但没有奏效:

urlize(u'text',u'\"')
intab =  u"àáâãäåòóôõöøèéêëçìíîïùúûüÿñ%s" , safe
Run Code Online (Sandbox Code Playgroud)

--EDIT-- 完整的功能看起来像这样

def urlize(url, safe=u''):

    intab =  u"àáâãäåòóôõöøèéêëçìíîïùúûüÿñ" + safe
    outtab = u"aaaaaaooooooeeeeciiiiuuuuyn" + safe
    trantab = …
Run Code Online (Sandbox Code Playgroud)

python string translate

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

Python 2.7 和 3.4 上的字典查找

如果您需要对值应用一些测试,这是在关于迭代字典键的首选样式的挑剔讨论中提出的。我正在比较[k for k in d if d[k] == 1][k for k, v in d.items() if v == 1].

看起来字典查找在 Python 3.4 中更昂贵:

$ python -m timeit -n 1000000 \
  -s 'd={k:v for v, k in enumerate("abcdefghijhklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")}' \
  '[k for k in d if d[k] == 1]'
1000000 loops, best of 3: 2.17 usec per loop

$ python -m timeit -n 1000000 \
  -s 'd={k:v for v, k in enumerate("abcdefghijhklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")}' \
  '[k for k, v in d.items() …
Run Code Online (Sandbox Code Playgroud)

python dictionary python-2.7 python-3.x dictview

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