The difference between i += 1 and i = i + 1

今天朋友碰到了问题

1
2
3
4
5
6
7
8
9
l = []
lst = []
lst.append(l)
l += [1]
# lst = [1]
l = l + [2]
# lst = [1]
l += [3]
# lst = [3]

为什么lst里面的l值通过 l += [1]可以改变, 而l = l + [1]就没法影响lst里面的值呢?

Writing a connection string when password contains special characters

转载自StackOverflow

SQLalchemy连接数据库时要用一串url形如“mysql+pymysql://user:passwd@host/database”
当passwd包含“@”的时候这串url就没法正常解析了。
在SO上看到的答案,使用python的url解析库

http://stackoverflow.com/questions/1423804/writing-a-connection-string-when-password-contains-special-characters

1
2
3
4
python2
from urllib import quote_plus as urlquote
from sqlalchemy.engine import create_engine
engine = create_engine('postgres://user:%s@host/database' % urlquote('badpass'))
1
2
3
4
python3
from urllib import parse
from sqlalchemy.engine import create_engine
engine = create_engine('postgres://user:%s@host/database' % parse.unquote_plus('badpass'))

Set up flask demo with open source project

今天的工作,老板终于要让我做CI了好感动。

###Clone the project and set up virtual environment

  • Choose a workspace to place the project

    1
    2
    3
    4
    5
    6
    7
    $ mkdir gitlab
    $ cd mkdir
    $ gcl https://gitlab.com:cecid/microblog.git
    $ cd microblog