小编Ble*_*der的帖子

Jinja2:渲染模板继承?

我想使用模板渲染融合的Jinja2和Markdown页面,如下所示:

{% block title %}{{ title }}{% endblock %}

# {{ title[0] }}
# {{ title[1] }}

## Introduction
Run Code Online (Sandbox Code Playgroud)

我可以使用上面的代码来生成HTML,但是当我将此脚本用于自定义创作应用程序时,我希望能够为每种类型的条目定义主模板.

当我尝试通过扩展主模板来渲染上面的页面时,template.html:

{% extends 'template.html' %}

{% block title %}{{ title }}{% endblock %}

# {{ title[0] }}
# {{ title[1] }}

## Introduction
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

Traceback (most recent call last):
  File "compiler.py", line 55, in <module>
    template = Template(text).render(parser.vars)
  File "/usr/lib/python2.7/site-packages/jinja2/environment.py", line 891, in render
    return self.environment.handle_exception(exc_info, True)
  File "<template>", line 1, in top-level template code
TypeError: no loader …
Run Code Online (Sandbox Code Playgroud)

python extend jinja2

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

异步运行某些Python代码的正确方法是什么?

我需要从我的普通Flask应用程序发送邮件,所以我认为最简单的方法是使用smtplib发送它.但我不得不异步地做 - 你不能在请求中插入3秒的延迟 - 对吗?所以我将电子邮件添加到队列(psql表),并从另一个读取此表的程序发送它并使用smptlib.

第二个程序(maildonkey)作为一个独立的进程在一个独立的upstart服务中运行.

现在我需要另一个那些小的异步服务,我在想是否应该编写另一个python脚本(第三,计算我的Flask应用程序和'maildonkey')或者我应该使用类似Python的'multiprocess',甚至是'线程'并重写第二个程序?

(当我在Clojure中编程时,我可以轻松地在带有'future'的单独线程中运行代码,所以通常我会这样做.)

python upstart flask

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

使行号不可复制

我正在努力为Rainbow提供行号支持,这是一种语法荧光笔,但我无法弄清楚如何使行号不可复制.

禁用选择通过user-select: none;使元素不可突出,但您仍然可以通过突出显示它然后复制来复制其文本,最终复制行号和代码.

以下是该问题的一个工作示例:http://jsfiddle.net/CjJLv/8/

任何帮助,将不胜感激.谢谢!

javascript html5 css3

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

从OCR文本中提取段落符号?

我正在尝试从OCR的图像文本的输出中重新创建段落和缩进,如下所示:

输入(想象这是一个图像,而不是键入):

在此输入图像描述

输出(有一些错误):

在此输入图像描述

如您所见,不会保留任何段落或缩进.

使用Python,我尝试了这样的方法,但它不起作用(经常失败):

代码:

def smart_format(text):
  textList = text.split('\n')
  temp = ''

  averageLL = sum([len(line) for line in textList]) / len(textList)

  for line in textList:
    if (line.strip().endswith('!') or line.strip().endswith('.') or line.strip().endswith('?')) and not line.strip().endswith('-'):
      if averageLL - len(line) > 7:
        temp += '{{ paragraph }}' + line + '\n'
      else:
        temp += line + '\n'
    else:
      temp += line + '\n'

  return temp.replace(' -\n', '').replace('-\n', '').replace(' \n', '').replace('\n', ' ').replace('{{ paragraph }}', '\n\n      ')
Run Code Online (Sandbox Code Playgroud)

有没有人有任何建议,我可以重新创建这个布局?我正在使用旧书,所以我希望用LaTeX重新排版它们,因为创建一个Python脚本非常简单. …

python ocr latex tesseract

9
推荐指数
1
解决办法
2175
查看次数

在python中使用list comprehension修改list元素

乡亲,

我想用list comprehension修改list元素.例如,如果元素为负数,则为其添加4.

因此列表

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

将被转换为

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

以下代码有效,但我想知道是否有更好的方法来做到这一点?

谢谢.

for i in range(len(a)):
    if a[i]<0:
        a[i] += 4
Run Code Online (Sandbox Code Playgroud)

python list-comprehension

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

Windows上的多处理中断

我在Linux上用Python开发,从未真正看到过Windows的这类问题.我正在使用该multiprocessing库来加速计算,这在Linux上非常适合我.

但是,在Windows上,事情并不顺利:

 * [INFO] Parsing 1 file using 2 threads

Traceback (most recent call last):
  File "main.py", line 170, in <module>
    master = ParsingMaster(parser, list(input_file), output_list, threads=num_threads)
Traceback (most recent call last):
  File "main.py", line 39, in __init__
  File "<string>", line 1, in <module>
    self.input_process.start()
  File "C:\Python26\lib\multiprocessing\forking.py", line 342, in main
  File "C:\Python26\lib\multiprocessing\process.py", line 104, in start
        self._popen = Popen(self)
self = load(from_parent)
  File "C:\Python26\lib\multiprocessing\forking.py", line 239, in __init__
  File "C:\Python26\lib\pickle.py", line 1370, in load
    dump(process_obj, to_child, HIGHEST_PROTOCOL) …
Run Code Online (Sandbox Code Playgroud)

python pickle multiprocessing traceback

9
推荐指数
1
解决办法
9584
查看次数

Python:类似jQuery的函数链接?

我在谷歌上找不到关于这个主题的任何内容,所以我想我应该在这里问一下:

有可能用Python链接函数,就像jQuery一样吗?

['my', 'list'].foo1(arg1, arg2).foo2(arg1, arg2).foo3(arg1, arg2) #etc...
Run Code Online (Sandbox Code Playgroud)

当我编写这段代码时,我失去了很多空间和可读性:

foo3(foo2(foo1(['my', 'list'], arg1, arg2), arg1, arg2), arg1, arg2) #etc...
Run Code Online (Sandbox Code Playgroud)

似乎存在一些用于创建此类功能的虚幻库,但我似乎无法理解为什么这必须如此复杂......

谢谢!

python function chaining

8
推荐指数
2
解决办法
7345
查看次数

Python OpenCV:检测一般的运动方向?

我还在乱砍一本书的扫描脚本,现在,我所需要的只是能够自动检测翻页.这本书填满了屏幕的90%(我正在使用一个肮脏的网络摄像头进行运动检测),所以当我翻页时,运动的方向基本上是在同一个方向.

我修改了一个运动跟踪脚本,但衍生品让我无处可去:

#!/usr/bin/env python

import cv, numpy

class Target:
    def __init__(self):
        self.capture = cv.CaptureFromCAM(0)
        cv.NamedWindow("Target", 1)

    def run(self):
        # Capture first frame to get size
        frame = cv.QueryFrame(self.capture)
        frame_size = cv.GetSize(frame)
        grey_image = cv.CreateImage(cv.GetSize(frame), cv.IPL_DEPTH_8U, 1)
        moving_average = cv.CreateImage(cv.GetSize(frame), cv.IPL_DEPTH_32F, 3)
        difference = None
        movement = []

        while True:
            # Capture frame from webcam
            color_image = cv.QueryFrame(self.capture)

            # Smooth to get rid of false positives
            cv.Smooth(color_image, color_image, cv.CV_GAUSSIAN, 3, 0)

            if not difference:
                # Initialize
                difference = cv.CloneImage(color_image)
                temp = …
Run Code Online (Sandbox Code Playgroud)

python opencv motion-detection

8
推荐指数
1
解决办法
6454
查看次数

如何更改所有子目录的文件权限(CHMOD)

我有一个目录,里面有多个目录,每个目录包含几个图像文件.

我想将所有子目录及其中的图像文件的文件权限更改为755 .

我正在使用WinSCP连接到服务器.那么如何一次更改文件权限,因为有很多文件我不能一个接一个地更改.

ftp sftp file-permissions winscp chmod

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

使用机器学习或NLP处理格式错误的文本数据

我正在尝试从包含人员条目的几个大型文本文件中提取数据.但问题是,我无法控制数据的来源.

它通常采用以下格式:

LASTNAME,名字中间名(也许是昵称)为什么这个文本在这里2012年1月25日

姓氏姓氏2001一些我不关心的文字

姓氏,名字等等... 2012年1月25日......

目前,我使用的是巨大的,其分离所有的正则表达式kindaCamelcase的话,那有上涨到年底每月名和名称很多特殊情况下的所有单词.然后我使用更多正则表达式来提取名称和日期的许多组合.

这似乎不是最佳的.

是否有任何用于Python的机器学习库可以解析格式错误的数据?

我试过NLTK,但它无法处理我的脏数据.我现在正在修补Orange,我喜欢它的OOP风格,但我不确定我是否在浪费时间.

理想情况下,我想做这样的事情来训练解析器(具有许多输入/输出对):

training_data = (
  'LASTNAME, Firstname Middlename (Maybe a Nickname)FooBarJanuary 25, 2012',
   ['LASTNAME', 'Firstname', 'Middlename', 'Maybe a Nickname', 'January 25, 2012']
)
Run Code Online (Sandbox Code Playgroud)

这样的事情是可能的,还是我高估了机器学习?任何建议将不胜感激,因为我想更多地了解这个主题.

python parsing nlp machine-learning

8
推荐指数
1
解决办法
1640
查看次数