小编Gun*_*her的帖子

在我自己的包中嵌入Python库

如何在我自己的Python包中"嵌入"Python库?

请求库为例.我怎么能将它集成到我自己的包中,目的是允许我在不同的机器上运行我的应用程序,而不是在每个机器上实际安装Requests,而是将它放在与我的包相同的文件夹中?

这甚至可能吗?

python

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

jQuery中的Debounce功能

我试图使用Ben Alman的jquery debouncing库去除按钮的输入. http://benalman.com/code/projects/jquery-throttle-debounce/examples/debounce/

目前这是我的代码.

function foo() {
    console.log("It works!")
};

$(".my-btn").click(function() {
    $.debounce(250, foo);
});
Run Code Online (Sandbox Code Playgroud)

问题是,当我单击按钮时,该功能永远不会执行.我不确定我是否误解了一些东西但据我所知,我的代码与示例匹配.

javascript jquery debouncing

24
推荐指数
2
解决办法
4万
查看次数

Python在索引后找到第一个出现的字符

我试图获取指定索引的字符串中出现的第一个字符的索引.例如:

string = 'This + is + a + string'

# The 'i' in 'is' is at the 7th index, find the next occurrence of '+'
string.find_after_index(7, '+')

# Return 10, the index of the next '+' character
>>> 10
Run Code Online (Sandbox Code Playgroud)

python

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

Flask Restful添加资源参数

我希望将对象实例作为参数传递给Flask-RESTfull资源.

这是我的设置:

# in main.py
from flask import Flask
from flask.ext.restful import Api
from bar import Bar
from foo import views

app = Flask(__name__)
api = Api(app)

my_bar = Bar()

api.add_resource(views.ApiPage, "/api/my/end/point/")
Run Code Online (Sandbox Code Playgroud)

然后在views.py中我将资源设置如下:

# In views.py
from flask.ext.restful import Resource

class ApiPage(Resource):
    def get(self):
        serialized = str(my_bar)
        return serialized
Run Code Online (Sandbox Code Playgroud)

所以我遇到的问题是我需要将我的实例传递给Bar()api资源.有没有办法通过这样的add_resource方法传递它api.add_resource(views.ApiPage, "/api/my/end/point/", instance=bar)

python rest flask flask-restful

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

NLTK将标记化句子转换为synset格式

我希望使用NLTK获得单个单词和句子中每个单词之间的相似性.

NLTK可以获得两个特定单词之间的相似性,如下所示.这个方法要求给出对该单词的特定引用,在这种情况下它是'dog.n.01',其中dog是名词,我们想要使用第一个(01)NLTK定义.

dog = wordnet.synset('dog.n.01')
cat = wordnet.synset('cat.n.01')
print  dog.path_similarity(cat)
>> 0.2
Run Code Online (Sandbox Code Playgroud)

问题是我需要从句子中的每个单词中获取词性信息.NLTK包能够获得句子中每个单词的词性,如下所示.但是,这些语音部分('NN','VB','PRP'...)与synset用作参数的格式不匹配.

text = word_tokenize("They refuse to permit us to obtain the refuse permit")
pos_tag(text)
>> [('They', 'PRP'), ('refuse', 'VBP'), ('to', 'TO'), ('permit', 'VB'), ('us', 'PRP'), ('to', 'TO'), ('obtain', 'VB'), ('the', 'DT'), ('refuse', 'NN'), ('permit', 'NN')]
Run Code Online (Sandbox Code Playgroud)

是否可以从pos_tag()获取synset格式的数据导致NLTK?通过synset格式化我的意思是格式dog.n.01

python nltk sentiment-analysis

7
推荐指数
1
解决办法
2588
查看次数

MongoDB在列表列表中查找值

我正在使用MongoDB搜索包含列表列表的元素,其中列表中的至少一个项目与搜索参数匹配.

这是我目前拥有的结构的一个例子.

{  
   "Item 1":{  
      "data":[  
         ["green", 1]
      ]
   },
   "Item 2":{  
      "data":[  
         ["blue", 9],
         ["green", 1]
      ]
   }
}
Run Code Online (Sandbox Code Playgroud)

我想搜索数据列表中值为"green"的所有项目.

我目前有这个:

my_data.find({'data': {'$in': ['green']}})
Run Code Online (Sandbox Code Playgroud)

但是,没有返回任何结果.

mongodb pymongo mongodb-query

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

IOError解码器zip不可用

我正在尝试使用sorl缩略图启动并运行但我收到错误"解码器zip不可用".

我已阅读了大量类似的网页,称这是PIL/Pilow问题.

我试过通过以下方式重新安装pil:

easy_install http://dist.plone.org/thirdparty/PIL-1.1.7.tar.gz
Run Code Online (Sandbox Code Playgroud)

以及:

pip uninstall PIL Pillow
pip install Pillow
pip install PIL
Run Code Online (Sandbox Code Playgroud)

读到 Ubuntu使用一个名为/ lib/x86_64-linux-gnu的目录来实现x64架构.如果您正在使用该体系结构,则需要为该体系结构以及其他共享库创建符号链接.

$ sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /lib/libz.so
Run Code Online (Sandbox Code Playgroud)

附加信息:

操作系统:Ubuntu Precice

我没有尝试从源代码安装包zlib,其他一些人也提到过它们.

django zlib sorl-thumbnail python-imaging-library pillow

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

在多容器 Docker 设置中运行 Django 迁移

允许 Django 应用程序的多个实例同时运行相同的数据库迁移是否安全?

场景描述

这是一个 Django 应用程序的多个实例在负载均衡器后面运行的设置。当 Docker 容器的更新版本可用时,每个旧的 Docker 映像都将替换为新版本。

分布式Django应用图

如果存在新的 Django 迁移,则需要运行它们。这让我想到了一个问题:允许多个容器同时运行迁移 ( python manage.py migrate)是否安全?


关于这个问题的答案可能是什么,我有两个假设。

  1. 是的,它是安全的。由于数据库级锁定,迁移不会发生冲突,最终,一个迁移脚本将运行,而另一个报告没有要应用的迁移。
  2. 不,这不安全。这两个迁移在尝试修改数据库时可能会相互冲突。

django infrastructure docker

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

为 Flask 测试客户端设置默认 content_type

有没有办法content_type在 Flask 中为测试客户端设置默认值?

例如,如果我有以下测试:

import unittest

class MyTestCase(unittest.TestCase):

    def setUp(self):
        from my_flask_project import app
        self.client = app.test_client()

    def test_request_one(self):
        self.client.post(
            data='{}'
            content_type='application/json'
        )

    def test_request_two(self):
        self.client.post(
            data='{}'
            content_type='application/json'
        )
Run Code Online (Sandbox Code Playgroud)

我所有的测试用例都将设置content_type='application/json'. 我想设置application/json为请求的默认内容类型,但找不到有关如何执行此操作的任何文档。

这样的事情将是理想的:

def setUp(self):
    from my_flask_project import app
    self.client = app.test_client(
        default_content_type='application/json'
    )
Run Code Online (Sandbox Code Playgroud)

python unit-testing flask

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

遍历多个到多个字段中的对象

我想知道是否有可能遍历many_to_many字段中的项目.我的目标是返回类似于下面的get_employees方法的项目列表.

class UserSerializer(serializers.ModelSerializer):
    days_since_joined = serializers.SerializerMethodField('get_days_since_joined')
    employees = EmployeeSerializer(many=True)

    class Meta:
        model = User

    def get_days_since_joined(self, obj):
        return (now() - obj.date_joined).days

    def get_employees:
        return [employee for employee in obj.employees]
Run Code Online (Sandbox Code Playgroud)

django-models django-rest-framework

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

Python类用静态方法和对self的引用

我有一个我想self在静态方法中引用的类.有没有办法做到这一点?

class User(object):
    email = "username"
    password = "********"

    @staticmethod
    def all():
        return {"ex": self.password}


print(User.all())
Run Code Online (Sandbox Code Playgroud)

python static-methods django-rest-framework

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

正则表达式查找单词形式的大数字

我正在尝试从字符串中提取单词形式的数字。例如,输入字符串可能类似于:

"What is 3 million 6 hundred 5 divided by 5 hundred?"
Run Code Online (Sandbox Code Playgroud)

根据这个输入,我想弄清楚如何将这两个数字分组。

["3 million 6 hundred 5", "5 hundred"]
Run Code Online (Sandbox Code Playgroud)

注意:在其他输入字符串中可能会找到更多数字。

我相信正则表达式是解决这个问题的正确途径。理想情况下,我可以传递一个比例列表,例如:

["hundred", "thousand", "million", "billion", ...]
Run Code Online (Sandbox Code Playgroud)

到目前为止,这就是我所拥有的:

scales= ["hundred", "thousand", "million", "billion"]
scale_pattern = '|'.join(scales)
regex = re.compile('\b(d+' + scale_pattern + 'd+)+\b')
Run Code Online (Sandbox Code Playgroud)

我知道我的模式不太正确,我想要的伪代码是:

for any number of the following occurrences:
    find the pattern [int word_from_list optional_int]
Run Code Online (Sandbox Code Playgroud)

python regex

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