/ python

python

Install Python

Windows 安装 Python

下载安装 Anaconda ,选择 Python 2.7 version 的下载。

# 创建一个 python 3 的环境
conda create -n py3 python=3

# 激活
activate py3

mac 安装 pip

sudo easy_install pip

Python 包管理器:pip

#安装库
sudo pip install shadowsocks

#列出所有安装的库
pip list  

#列出所有过期的库
pip list --outdated 

#更新过期的库
pip install --upgrade 库名

更新所有包的脚本 pip-upgrate-all.py

import pip
from subprocess import call
 
for dist in pip.get_installed_distributions():
    call("pip install --upgrade " + dist.project_name, shell=True)
sudo python pip-upgrate-all.py

实际使用中 requests 版本低于 certbot 依赖的版本

sudo pip install requests

安装不上去,总是提示已经安装了:

Requirement already satisfied: requests in /usr/lib/python2.7/site-packages

这时候就需要明确指出需要更新:

sudo pip install requests --upgrade

有的时候需要安装特定版本的包:

sudo pip install pyOpenSSL==0.15.1

pip 镜像

mkdir ~/.pip
atom ~/.pip/pip.conf

参照 阿里云镜像帮助文件

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
format=columns

[install]
trusted-host=mirrors.aliyun.com

Windows 配置,在用户目录下,新建 pip/pip.ini

使用 pip:

sudo pip install beautifulsoup4

3. python 基本知识

如果需要添加注释,需要在文件头部添加

# -*- coding: utf-8 -*-

UnicodeEncodeError: 'ascii' codec can't encode characters in position

在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为:

# -*- coding: utf-8 -*-
import sys  
  
reload(sys)  
sys.setdefaultencoding('utf8') 

Anaconda2 的 Python 路径:C:\Users\bill\Anaconda2\Lib

字符串编码

>>> u'中文'
u'\u4e2d\u6587'
>>> u'中文'.encode('utf-8')
'\xe4\xb8\xad\xe6\x96\x87'
>>> print '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
中文

格式化输入

print ("序号 %s qq号为 %s"%(tds[1].get_text(),tds[4].get_text().strip()))

序号 1 qq号为 1235486

strip()

Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)。

str = "0000000this is string example....wow!!!0000000";
print str.strip( '0' );

输出:

this is string example....wow!!!

UnicodeEncodeError: 'gbk' codec can't encode character u'\xa0' in

嗯,不要在 cmd 中执行 python 脚本,试用 Visual Studio Code 执行就不会报错了

ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。

这个是因为你安装了64位的python,然后安装32位的模块,或者你安装了32位的python,然后安装64位的模块

安装 mysql-python

64位python安装MySQL-python 1.2.5

存储昵称报错

  • 昵称中的表情字符,引起报错:解决方案是将编码改为 utf8mb4

  • 当昵称中有一个 ' 字符串不封闭,造成 sql 插入失败!
    解决方案:And let the cursor do the escaping. escaping-characters-in-python-variables

python 如何转义变量(字符串)?

列表(List)、元组(Tuple)和字典(Dictionary)

  • 列表 [],可循环,可变。
  • 元组 (),可循环,不可变。
  • 字典 {},可变。

相比于列表,元组是更简单的数据结构。如果需要存储一组值在程序的整个生命周期内都不变,可使用元组。

字典类似于列表,但让你能够将不同的信息关联起来。

这里的关键在于,80% 集中理解 列表(List),20% 用于关联到 元组(Tuple)和字典(Dictionary)。