小编mno*_*tka的帖子

以最快的方式生成所有base26三元组

我需要生成一个仅包含大写英文字母的三元组列表:

["AAA","AAB","AAC", ..., 'ZZZ']
Run Code Online (Sandbox Code Playgroud)

在python中执行此操作的最快方法是什么?

python algorithm base64 base

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

是否可以使grequests和request_cache一起工作?

看下面的代码:

import requests
import grequests
import requests_cache
requests_cache.install_cache('bla')

urls = [
    'http://www.heroku.com',
    'http://python-tablib.org',
    'http://httpbin.org',
    'http://python-requests.org',
    'http://kennethreitz.com'
]

rs = (grequests.get(u) for u in urls)
results = grequests.map(rs)
Run Code Online (Sandbox Code Playgroud)

我希望执行此操作后,我将bla.sqlite在当前目录中找到文件并执行

results = grequests.map(rs)
Run Code Online (Sandbox Code Playgroud)

因为数据将从sqlite缓存中获取,所以速度会更快。不幸的是,这是不正确的,根本没有创建文件,也没有加速。当我使用grequests insetead的请求时,一切正常。因此,问题是标题说:可以使grequest和request_cache一起工作吗?如果是的话,如何?

python caching request gevent python-requests

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

对于标准输入,python cat(echo)等效

我以为这个程序将逐行回显我的控制台输入:

import os, sys

for line in sys.stdin:
    print line
Run Code Online (Sandbox Code Playgroud)

不幸的是,它等待EOF(Ctrl+ D)然后产生输出.我应该如何修改我的程序以逐行获取输出?

python stdin echo

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

Python私有继承?如何欺骗isinstance()?

django核心代码片段:

class ForeignKey(RelatedField, Field):

    ...

    def db_type(self, connection):
        rel_field = self.rel.get_related_field()
        if (isinstance(rel_field, AutoField) or
                (not connection.features.related_fields_match_type and
                isinstance(rel_field, (PositiveIntegerField,
                                       PositiveSmallIntegerField)))):
            return IntegerField().db_type(connection=connection)
        return rel_field.db_type(connection=connection)
Run Code Online (Sandbox Code Playgroud)

这段代码非常糟糕,因为如果我定义了一个继承自的自定义字段AutoField,那么我的db_type方法将被忽略.

我想做的是隐藏我的类是一个实例的事实AutoField.在C++中,我会通过私有继承来实现.

有没有办法欺骗isinstance返回False或隐藏继承?

我的cutom字段代码:

class MyAutoField(models.AutoField):

    def __init__(self, length, *args, **kwargs):
        self.length = length
        super(MyAutoField, self).__init__(*args, **kwargs)

    def db_type(self, connection):
        if connection.vendor == 'oracle':
            return 'NUMBER(%s,0)' % (self.length)
        if connection.vendor == 'postgresql':
            if self.length <= 4:
                return 'smallint'
            if self.length <= 9:
                return 'integer'
            return 'bigint'
        return …
Run Code Online (Sandbox Code Playgroud)

python database django orm

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

使用nltk和scikit-learn从文本中为标签云挑选最相关的单词

我想从文本中获取最相关的单词以准备标签云.

我使用scikit-learn包中的CountVectoriser:

cv = CountVectorizer(min_df=1, charset_error="ignore",
    stop_words="english", max_features=200)
Run Code Online (Sandbox Code Playgroud)

这很好,因为它给了我的话和频率:

counts = cv.fit_transform([text]).toarray().ravel()
words = np.array(cv.get_feature_names())
Run Code Online (Sandbox Code Playgroud)

我可以过滤非频繁的单词:

words = words[counts > 1]
counts = counts[counts > 1]
Run Code Online (Sandbox Code Playgroud)

以及单词,即数字:

words = words[np.array(map(lambda x: x.isalpha(), words))]
counts = counts[np.array(map(lambda x: x.isalpha(), words))]
Run Code Online (Sandbox Code Playgroud)

但它仍然不完美......

我的问题是:

  1. 如何过滤掉动词?
  2. 如何完全去除词干以摆脱不同形式的同一个词?
  3. 如何调用CountVectoriser来过滤掉两个字母的单词?

还请注意:

  1. 我很好NLTK但回答诸如"你应该尝试NLTK"不是一个答案,给我一个代码,请.
  2. 我不想使用贝叶斯分类器和其他需要训练模型的技术.我没有时间,我没有训练分类器的例子.
  3. 语言是英语

python data-mining text-mining nltk scikit-learn

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

Python CAPTCHA般的图像失真

我想以与标准CAPTCHA禁用字体相同的方式分解一些图像.我如何在python中实现它?我应该使用哪些库/算法?任何概念验证?

免责声明:在我提出这个问题之前,谷歌搜索了一段时间,但我找不到任何令人满意的答案.我是新手,所以我不能提供任何证明我'研究工作'的代码......

python captcha image-processing python-imaging-library

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

在 python 中 - 如何将项目转换为字典?

我有以下项目列表(键值对):

items = [('A', 1), ('B', 1), ('B', 2), ('C', 3)]
Run Code Online (Sandbox Code Playgroud)

我想得到什么:

{
  'A' : 1,
  'B' : [1,2]
  'C' : 3
}
Run Code Online (Sandbox Code Playgroud)

我的天真的解决方案:

res = {}
for (k,v) in items:
     if k in res:
         res[k].append(v)
     else:
         res[k] = [v]
Run Code Online (Sandbox Code Playgroud)

我正在寻找一些优化的更多 pythonic 解决方案,有人吗?

python algorithm dictionary data-structures

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

Wagtail API - 如何公开片段

想象一下,我有一个Snippet和一个Page包含它:

@register_snippet
class MySnippet(models.Model):
    content = models.CharField(max_length=255)


class MyPage(Page):
    snippet = models.ForeignKey('MySnippet', null=True, blank=True, on_delete=models.SET_NULL, related_name='+')

    api_fields = [
        APIFiled('snippet')
    ]
Run Code Online (Sandbox Code Playgroud)

现在在 wagtail API 页面端点中,此页面将如下所示:

{
    "id": 1,
    "meta": { ... },
    "snippet": {
        "id": 1,
        "meta": {
            "type": "my_module.MySnippet"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能使此端点显示代码段的内容?

另外,如何仅为片段创建单独的 API 端点?

python django django-rest-framework wagtail

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

oracle sql日期比较不能按预期工作

我有一个带有'insert_date'列的表格X. 此列为od类型DATE,并且只包含所有记录的一个值:"17-JAN-13".我希望以下查询根本不返回任何结果:

SELECT insert_date
FROM X
  WHERE ("X"."INSERT_DATE" IS NOT NULL
  AND NOT (("X"."INSERT_DATE" = to_date('2013-01-17', 'yyyy-mm-dd')
  )))
Run Code Online (Sandbox Code Playgroud)

但我得到的却是很多"17-JAN-13"的记录.我的查询有什么问题?

sql oracle select oracle-sqldeveloper

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

createuser 无法连接到数据库 postgres

请不要将此问题移至 askubuntu,因为我认为此问题不是特定于操作系统的。

当我调用createuserpostgres 命令时(现在我是否提供任何参数都没有关系),我收到了这个错误:

createuser: could not connect to database postgres: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)

通常这意味着 postgres 服务器已关闭,但这次不是:

pg_lsclusters
Ver Cluster Port Status Owner    Data directory               Log file
9.4 main    5432 online postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log

sudo service postgresql status
9.4/main (port 5432): online
Run Code Online (Sandbox Code Playgroud)

但确实没有/tmp/.s.PGSQL.5432文件,因为我的配置文件(/etc/postgresql/9.4/main/postgresql.conf)有这一行:

unix_socket_directories = '/var/run/postgresql'
Run Code Online (Sandbox Code Playgroud)

所以我真的不明白为什么createuser要访问/tmp/.s.PGSQL.5432?可以将此路径硬编码到createuser二进制文件中吗?我看不出有任何命令行参数来指定设置文件的位置createuser …

database postgresql configuration createuser

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