分类 "Python" 下的文章

问题:将list赋值给一个变量时出错
原因:因为变量未定义,不能实现json格式
方法:
代码如下
klass_ids = [130,133]
for k in klass_ids:
user_ids[str(k)] = [u.id for u in users if k in u.class_ids]
此时会报错误:NameError: global name 'user_ids' is not defined
在for语句前加上下面语句,即定义user_ids为json格式
user_ids = {}

问题:使用virtualenv如何构建python3的开发环境
方法:
一、创建python2的开发环境
virtualenv --no-site-packages venv
使用source venv/bin/activate
二、创建python3的开发环境
virtualenv -p /usr/local/bin/python3.5 venv3
使用source venv3/bin/activate

问题:pyenv与virtualenv有什么区别
解决:
pyenv可以帮助你在一台开发机上建立多个版本的python环境, 并提供方便的切换方法。

virtualenv则提供了一种功能, 就是将一个目录建立为一个虚拟的python环境, 这样的话, 用户可以建立多个虚拟环境, 每个环境里面的python版本可以是不同的, 也可以是相同的, 而且环境之间相互独立。

注:参考http://www.cnblogs.com/npumenglei/p/3719412.html

问题:希望将字符串去除第一个字符和最后一个字符
方法:
a = '[1,2,4,6,32,42]'
b = a[1:-1]
此时b为1,2,4,6,32,42

注:注意切片用的是“:”不是“,”

问题:python的os.path如何使用
解决:亲自测试
方法:
代码如下:
img = "/static/uploads/social/tmp/aa.png"
imgP = os.path.realpath(os.path.join(os.path.dirname(__file__), '..') + img)

一、os.path.dirname(__file__)                         当前运行文件的路径,获得 /var/www/hello/website/server
二、os.path.join(os.path.dirname(__file__), '..')             连接两个路径,获得 /var/www/hello/website/server/..
三、 imgP                                  获得连接后的路径,获得 /var/www/hello/website/static/uploads/social/tmp/aa.png