小编Daw*_*zuk的帖子

如何从psycopg2 connection.commit()获取受影响的行数?

目前,我有以下方法使用执行INSERT/UPDATE/DELETE语句psycopg2Python:

def exec_statement(_cxn, _stmt):
    try:
        db_crsr = _cxn.cursor()
        db_crsr.execute(_stmt)
        _cxn.commit()
        db_crsr.close()
        return True
    except:
        return False
Run Code Online (Sandbox Code Playgroud)

但我真正想要它做的是,而不是bool,返回受事务影响的行数,如果操作失败则返回-1.

有没有办法让一些行受到影响_cxn.commit()?例如,对于单个INSERT,对于DELETE或UPDATE,它将始终为1,受语句影响的行数等?

python psycopg2

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

基于字典的python类变量更新

如何从字典更新类变量?我想出了一个肮脏的黑客,但我正在寻找(如果有的话)更整洁的东西.

假设我想要一个基于给定字典设置参数的C类.结果,c应该有

class C:
    def setVar(self, var):
        for key in var.keys():
            exec('self.{} = {}'.format(key, var[key]))

D = {'a':1, 'b':2, 'c':3}
c = C()
c.setVar(D)

# c.a = 1
# c.b = 2
# c.c = 3
Run Code Online (Sandbox Code Playgroud)

python variables dictionary class

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

docker-machine + docker-compose + ssl(让我们通过 nginx 和 certbot 加密)

我正在尝试将自动 TLS/SSL 终止添加到通过docker-machine部署的docker-compose 中的 Nginx (DigitalOcean)。

我找到了一些不错的资源 [ humankode/how-to-set-up... , medium/nginx-and-lets-encrypt... ] 关于如何通过 docker-compose 做到这一点,但他们都从在服务器上的观点。我真的很想避免这种情况。我很想在本地,在我的笔记本电脑上做,把它们捆绑在一起,然后寄出去。或者,甚至无需执行任何 ssh 即可远程执行此操作。

几次尝试都失败了,但感觉他们已经接近了。主要障碍似乎是文件/卷。按照medium/nginx-and-lets-encrytp...指南,我在保存 OpenSSL privkey.pem 时遇到问题。另一个教程(humankode),据我所知,在服务器上完成所有工作,这就是卷所在的地方。

我最近的尝试是通过DigitalOcean 教程在机器上设置证书,并尝试将这些包含在我的 docker-compose 构建中。没运气。

有很多修改,但我的设置类似于:

docker-compose.yml

version: '3.7'

services:
  nginx:
    image: nginx:1.15.9-alpine
    container_name: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    restart: always
    volumes:
      - /etc/letsencrypt
      - /var/www/certbot
    ports:
      - "80:80"
      - "443:443"
    command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g …
Run Code Online (Sandbox Code Playgroud)

ssl nginx docker-compose docker-machine lets-encrypt

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

用vim中的破折号加下划线的文本行

是否有一个很好的快速方法,用破折号(完全相同的长度)加下划线的文本行?出于第一个文件(子)的目的,*部分必须具有与之前相同长度的单个字符下属.部分标题应如下所示

In this section main character dies -----------------------------------

我目前的方法是查看光标的位置(当我在行的末尾时)然后:光标位置o{N}I-在哪里{N}.我宁愿用自定义角色做一些漂亮的宏.

vim

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

在Spacy引理后检测禁用词

如何在词干和词形还原后检测单词是否为禁用词spaCy

假设有句

s = "something good\nsomethings 2 bad"
Run Code Online (Sandbox Code Playgroud)

在这种情况下something是一个禁用词.显然(对我来说?)Something并且somethings也是停顿词,但它需要在此之前完成.下面的脚本会说第一个是真的,但后者不是.

import spacy
from spacy.tokenizer import Tokenizer
nlp = spacy.load('en')
tokenizer = Tokenizer(nlp.vocab)

s = "something good\nSomething 2 somethings"
tokens = tokenizer(s)

for token in tokens:
  print(token.lemma_, token.is_stop)
Run Code Online (Sandbox Code Playgroud)

返回:

something True
good False
"\n" False
Something False
2 False
somethings False
Run Code Online (Sandbox Code Playgroud)

有没有办法通过spaCyAPI 检测到它?

python nlp stop-words lemmatization spacy

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

如何在 Nuxt.js 中使用 Mixpanel

如何在Nuxt.js中包含Mixpanel 分析

老实说,我是 Nuxt.js 和 Vue 以及 Mixpanel 的新手,但我继承的网站不够完善,所以我宁愿学习而不是改变。添加 Google Analytic 非常简单,因为有一个很棒的软件包nuxtjs google-analytics;它只需要添加googleAnalytics到 Nuxt 配置中,一切就都神奇地完成了。

对于 Mixpanel,我找到了vue-mixpanelmixpanel-browser,但我不太确定如何使用它们。第一个似乎合适,但一旦我启动插件,我就很困惑在哪里使用this.$mixpanel参考文献。是否有一些“页面加载”事件?不知道如何向页面标题添加内容。

mixpanel vue.js nuxt.js

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