小编ajt*_*ajt的帖子

使用正则表达式将python中的大写重复字母替换为单个小写字母

我试图替换任何大写字母的实例,它们在一个字符串中重复两次,并在小写字母中包含该字母的单个实例.我使用以下正则表达式,它能够匹配重复的大写字母,但我不确定如何使被替换的字母小写.

import re
s = 'start TT end'
re.sub(r'([A-Z]){2}', r"\1", s)
>>> 'start T end'
Run Code Online (Sandbox Code Playgroud)

如何制作"\ 1"小写字母?我不应该使用正则表达式来执行此操作吗?

python regex capitalization

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

使用python从javascript标记中解析可变数据

我正在使用BeautifulSoup和Requests抓取一些网站.我正在检查的页面中有一个数据位于<script language="JavaScript" type="text/javascript">标记内.它看起来像这样:

<script language="JavaScript" type="text/javascript">
var page_data = {
   "default_sku" : "SKU12345",
   "get_together" : {
      "imageLargeURL" : "http://null.null/pictures/large.jpg",
      "URL" : "http://null.null/index.tmpl",
      "name" : "Paints",
      "description" : "Here is a description and it works pretty well",
      "canFavorite" : 1,
      "id" : 1234,
      "type" : 2,
      "category" : "faded",
      "imageThumbnailURL" : "http://null.null/small9.jpg"
       ......
Run Code Online (Sandbox Code Playgroud)

有没有办法可以page_data在此脚本标记中的变量中创建python字典或json对象?那会比使用BeautifulSoup获得价值更好.

html python json beautifulsoup python-requests

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

如何在linux中使用iptables将http和https流量转发到透明代理

我有一个Ubuntu linux系统充当网关系统,上面有两个接口.一个接口用于本地网络,一个接口用于Internet.我可以毫无问题地通过它来路由流量.我使用两个iptables规则来转发内部接口的出站流量:

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

我现在需要创建一个iptables规则,过滤掉并重定向所有tcp端口80和443流量,通过eth1接口离开我的网络,并将其发送到驻留在tcp端口9090上的环回接口上的代理服务器.

我一直在寻找SO,但我找不到一个有效的例子.有没有一种有效的方法来做到这一点?

linux firewall iptables gateway transparentproxy

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

在python中解析多部分电子邮件并保存附件

我是python的新手,我试图通过python的imaplib和电子邮件解析来自gmail的电子邮件.它工作得很好,但我遇到了电子邮件附件的问题.

我想从电子邮件中解析出所有明文,同时忽略可能作为辅助内容类型插入的任何HTML,同时还删除并保存所有其他附件.我一直在尝试以下方面:

...imaplib connection and mailbox selection...

typ, msg_data = c.fetch(num, '(RFC822)')
        email_body = msg_data[0][1]
mail = email.message_from_string(email_body)
        for part in mail.walk():
            if part.get_content_type() == 'text/plain':
                body = body + '\n' + part.get_payload()
            else:
                continue
Run Code Online (Sandbox Code Playgroud)

这是我最初尝试只接收电子邮件的明文部分,但当有人发送带有文本附件的电子邮件时,文本文件的内容会显示上面的"body"变量.

有人能告诉我如何在忽略有时存在的辅助HTML的同时提取电子邮件的明文部分,同时还将所有其他类型的文件附件保存为文件?如果这没有多大意义,我会道歉.如果需要,我会更详细地更新问题.

python email gmail attachment imaplib

10
推荐指数
1
解决办法
7874
查看次数

在自定义Python Markdown扩展的输出中禁用HTML编码

我一直致力于创建一个python markdown扩展,当使用自定义标记时,它将在我的django项目中插入一个图库.实际的扩展是有效的,但扩展返回的HTML都是编码的.这是我正在使用的扩展:

#!/usr/bin/env python
from django.template.loader import render_to_string
from main.models import *

import markdown

version = "0.1.0"

class GalleriaExtension(markdown.Extension):
    def __init__(self, configs):
        self.config = {
        }

        # Override defaults with user settings
        for key, value in configs:
            self.setConfig(key, value)

    def add_inline(self, md, name, klass, re):
        pattern = klass(re)
        pattern.md = md
        pattern.ext = self
        md.inlinePatterns.add(name, pattern, "<reference")

    def extendMarkdown(self, md, md_globals):
        self.add_inline(md, 'galleria', Galleria,
            r'\[\[(G|g)allery (?P<superpage_id>\w+)\]\]')

class Galleria(markdown.inlinepatterns.Pattern):
    def handleMatch(self, m):
        try:
            images = SuperPage.objects.get(id=m.group('superpage_id')).superpageimage_set.all()
        except:
            images = None
        if …
Run Code Online (Sandbox Code Playgroud)

python django markdown html-encode

5
推荐指数
1
解决办法
1102
查看次数

使用django创建自定义小部件以在外部站点上使用

我有一个新网站,我正在整理,其中一部分有网站用户的统计数据.我想创建一个其他人可以在另一个网站上使用的小部件,通过调用从我的服务器读取数据的javascript并显示给定用户的统计信息,但我很难在django中找到涵盖此内容的特定教程.

我已经在Alex Maradon的网站[0]上看到了这个链接,但在我看来,这就是将html传递给小部件,我很难找到如何使用像xml这样的东西.

有没有任何django应用程序这样做或有没有人知道好的方法?

[0] http://alexmarandon.com/articles/web_widget_jquery/

javascript python django widget

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

在django中区分大小写的"精确"查询返回了多个不同的结果

我有一个django 1.2.1的实例在ubuntu上运行,带有一个mysql 5后端.我正在尝试制作一个区分大小写的查询,该查询应该只返回一个结果,但我得到两个具有相同内容但具有不同情况的结果.

我想获得一个具有以下标题的条目:互联网综合症中的猫

所以我使用以下查询:

c = Change.objects.filter(change_type='new',title__exact='Cat on the Internet syndrome')
Run Code Online (Sandbox Code Playgroud)

我得到以下结果:

>>> c
[<Change: Change object>, <Change: Change object>]
Run Code Online (Sandbox Code Playgroud)

每个Change对象的标题:

>>> for i in c:
...     print i.title
... 
Cat on the Internet Syndrome
Cat on the Internet syndrome
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,每个对象标题中的综合征中的'S'对于S综合征具有不同的情况.我从阅读文档[0]的印象是所有查询都默认为'确切'类型.当我没有指定时,我得到相同的结果title__exact='Cat on the Internet syndrome'.

如何确保在上面概述的查询中使用区分大小写?

[0] http://docs.djangoproject.com/en/dev/ref/models/querysets/#std:fieldlookup-exact

编辑:Mysql版本是:

mysql  Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (i486) using readline 6.1
Run Code Online (Sandbox Code Playgroud)

python django case-sensitive django-models

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

在python中从字符串中提取日期时间的最佳方法

我有一个脚本解析出表示日期和时间的电子邮件标题中的字段.这些字符串的一些示例如下:

Fri, 10 Jun 2011 11:04:17 +0200 (CEST)
Tue, 1 Jun 2011 11:04:17 +0200
Wed, 8 Jul 1992 4:23:11 -0200
Wed, 8 Jul 1992 4:23:11 -0200 EST
Run Code Online (Sandbox Code Playgroud)

在我遇到某些字符串末尾的CEST/EST部分之前,我的工作非常好,只需使用datetime.datetime.strptime如下:

msg['date'] = 'Wed, 8 Jul 1992 4:23:11 -0200'
mail_date = datetime.datetime.strptime(msg['date'][:-6], '%a, %d %b %Y %H:%M:%S')
Run Code Online (Sandbox Code Playgroud)

我试图将正则表达式放在一起以匹配字符串的日期部分,同时在最后排除时区信息,但我遇到了正则表达式的问题(我无法匹配冒号).

使用正则表达式是解析上述所有示例的最佳方法吗?如果是这样,有人可以共享一个与这些例子匹配的正则表达式吗?最后,我希望有一个datetime对象.

python regex datetime

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

创建将根据字母顺序检索上一个和下一个对象的 Django 查询

我有一个看起来像这样的 Django 模型:

class Definition
    name = models.CharField(max_length=254)
    text = models.TextField()
Run Code Online (Sandbox Code Playgroud)

如果我执行以下查询:

animal = Definition.objects.get(name='Owl')
Run Code Online (Sandbox Code Playgroud)

如果我的数据库中有这些名称的以下定义:

Elephant, Owl, Zebra, Human
Run Code Online (Sandbox Code Playgroud)

有没有办法做一个django查询,它会animal根据name模型中字段的字母顺序显示基于对象的上一个和下一个定义?

我知道有多种方法可以根据datetime字段获取上一个/下一个,但我对这种情况不太确定。

python django model alphabetical

0
推荐指数
1
解决办法
398
查看次数