小编Tza*_*ach的帖子

在纯Python环境中执行JavaScript

我想在纯Python环境(Google AppEngine)中运行现有的简单(无特殊技巧)JavaScript代码(几千行).

使用PyV8可以很好地运行代码(但它不是纯Python).

PyJON是否足够成熟?

我可以在Python中定义自定义对象并在JavaScript中使用它们(如在PyV8中)吗?

javascript python google-app-engine

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

将电子邮件文本拆分为对话

我正在用Python编写一个电子邮件解析器,并寻找一种从电子邮件正文中提取所有以前的电子邮件(转发,回复)的方法.该脚本必须支持尽可能多的电子邮件客户端(gmail,outlook,iphone等).例如,如果正文是:

example email text

On Jul 31, 2013, at 5:15 PM, John Doe <jdoe@gmail.com> wrote:

> example email text
>
>
> *From:* Me [mailto:me@gmail.com]
> *Sent:* Thursday, May 31, 2012 3:54 PM
> *To:* John Doe
> *Subject:* RE: subject
>
> example email text
Run Code Online (Sandbox Code Playgroud)

结果应该是一个包含3个条目的数组,每个条目包含电子邮件文本和尽可能多的元数据(日期,发件人,主题等).

是否有任何标准/现代方法来实现这一目标?是否有来自不同客户的维护回复列表?到目前为止,我已经搜索过类似的问题但没有令人满意的答案.

python email parsing email-parsing

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

urllib3 on python 2.7 Google App Engine上的SNI错误

我正在尝试使用SNI从我在Google App Engine上托管的网站下载HTTPS页面.无论我使用什么库,我都会收到以下错误:

[Errno 8] _ssl.c:504: EOF occurred in violation of protocol
Run Code Online (Sandbox Code Playgroud)

我尝试过多种方式解决错误,包括使用urllib3 openssl monkeypatch:

from urllib3.contrib import pyopenssl
pyopenssl.inject_into_urllib3
Run Code Online (Sandbox Code Playgroud)

但我总是得到上面提到的同样的错误.

有任何想法吗?

python google-app-engine urllib3 sni

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

使用django-polymorphic创建许多对象

我正在使用django-polymorphic并且有一个包含大约8个派生类的基类.除非我尝试一次创建多个对象,否则它的效果很好,在这种情况下性能非常差.我的代码看起来像这样:

class Parent(PolymorphicModel):
  ...
class DerivedA(Parent):
  ...
class DerivedB(Parent):
  ...

@transaction.commit_on_success
def create_objects()
  for model_class in (DerivedA, DerivedB...):
    instance = model_class(...)
    instance.save()
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用Parent.objects.bulk_create,但这对多态django不起作用,因为它只是创建基础对象而不是子对象.当我尝试使用bulk_create每个子模型时,它会提升ValueError("Can't bulk create an inherited model").

是否有更有效的方法来创建许多多态对象?

python django django-models

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

按完整路径导入具有类似内部模块名称的python包

在我的项目中,我需要从两个不同的完整路径导入两个外部包.

当我只有一个外部软件包时,我添加了它的路径sys.path并且它工作了,我可以为这两个软件包做到这一点但不幸的是两个软件包都有类似的内部模块,所以如果我将它们都添加到sys.path它们中它们将交叉导入每个软件包的内部模块其他.

为了澄清,包的文件夹结构如下所示:

package1\
  __init__.py
  settings.py
  a.py # does 'import settings'

package2\
  __init__.py
  settings.py
  b.py # also does 'import settings'
Run Code Online (Sandbox Code Playgroud)

如何在没有冲突的情况下导入两个包?我尝试过使用imp.load_source但看起来它只能加载文件.

编辑: 当我只有一个包时,我会使用以下代码从中导入:

sys.path.insert(1, "PATH TO PACKAGE1")
from package1 import a
Run Code Online (Sandbox Code Playgroud)

编辑2: 包的目录结构实际上比上面的那个复杂得多,并且包含数百个文件.还有可导入的内部模块,settings.py例如:

package1\
  __init__.py
  settings.py
  internal_module\
    __init__.py
    a.py # does 'import settings'
Run Code Online (Sandbox Code Playgroud)

这意味着我无法假设a.py并且settings.py在同一目录中.

python python-import

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

"Modernizr未定义"

我的应用程序包括在结束<head>标记之前的Modernizr(与prefixfree连接),以及在结束标记之前的其余js <body>.99.9%的时间这个工作正常,但有时我得到Modernizr is not defined.

导致错误的代码是:

if(!Modernizr.csscalc) {
  // do stuff
}
Run Code Online (Sandbox Code Playgroud)

这个错误发生在真实的客户端上(我通过电子邮件收到通知),所以我没有比这个错误字符串更多的数据.即使在相同的操作系统和浏览器上,我也无法重现它.

我不清楚这个零星错误可能是什么原因造成的.你能指点我吗?我在这里做错了吗?

javascript modernizr

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

Django - 在基于类的视图上使用 reverse()

我的 Django 项目中有以下 urls 配置:

urlpatterns = patterns('',
    (r'^my-view$', MyViewClass.as_view()),
)
Run Code Online (Sandbox Code Playgroud)

有没有办法使用该reverse()函数来获取上述视图的url?

python django django-views django-class-based-views

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

ImportError:无法导入名称defaultdict

ImportError跑步时我真的很奇怪from collections import defaultdict:

ImportError: cannot import name defaultdict
Run Code Online (Sandbox Code Playgroud)

我正在运行python 2.7,奇怪的是,在我的应用程序的其他部分,这个完全相同的导入行成功.

我想也许这是一个循环导入,但是当涉及内置python模块时它没有多大意义.

有什么想法我得到这个错误?

python defaultdict

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

使用 Google 跟踪代码管理器时 Google Analytics 自定义事件未触发

我正在尝试在 Google Analytics 中跟踪自定义事件和综合浏览量。将 GA 跟踪代码(Universal Analytics)直接包含在我的页面中时,事件会正常触发。但是,当使用 Google 标签管理器包含代码时,除了初始网页浏览外,不会触发任何内容。

这是触发自定义事件的代码:

ga('send', 'event', 'test', 'test');
Run Code Online (Sandbox Code Playgroud)

我使用控制台进行了测试,在两种情况下ga都已定义,上面的代码没有抛出任何错误。

我还尝试在 GTM 中找到一些阻止我的事件的配置选项,但找不到任何有用的东西。

任何想法阻止自定义事件被触发?

javascript google-analytics google-tag-manager

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

如何在IE11中禁用平滑滚动

IE的平滑滚动导致我的应用程序表现得很奇怪(滚动事件会在很短的时间内触发).

有没有办法使用CSS或Javascript完全禁用IE11中的平滑滚动?

javascript css internet-explorer

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