__name__
模块名,主模块为__main__
__doc__
文档字符串
life's a struggle.
2015-04-02
2015-04-02
规则
正则表达式
定义例外规则
@@|规则
元素隐藏
不支持通配符,可在前面加上域名以达到只在某域名下工作
根据标签类名
##div.textad
根据标签ID
##div#sponsorad
根据标签名
##textad
属性选择符
通过标签的属性来选择标签以屏蔽,例如##table[width="80%"]
可使用正则来匹配属性名
参考
2015-04-01
相对导入是基于当前模块的名称(
__name__
),其实就是. <=> __name__
当一个模块作为主模块时,它的名称为
__main__
,所以在主模块中,不能使用相对导入!当一个模块不作为主模块时,也就是说被主模块引用,必须使用相对导入(因为模块的搜索)
#参考
2015-04-01
2015-04-01
判断当前系统类型
platform.system() == 'Windows' os.name == 'nt'
获取安装绝对路径名(不带”..”)
os.path.abspath(r'./setting.ini')
获取脚本所在的目录
os.path.dirname(os.path.realpath(__file__)
获取用户配置完全路径名
os.path.expanduser(r'~/_vimrc')
目录不存在则创建(递归创建)
if not os.path.exists(directory): os.makedirs(directory) os.makedirs(os.path.dirname(f[1]), exist_ok=True)
2015-04-01
命令行指定
pip install -i http://pypi.douban.com/simple/ –trusted-host pypi.douban.com gevent
配置文件指定
win7
~/pip/pip.ini
1
2
3
4[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.comlinux
vi ~/.pip/pip.conf
1
2
3
4[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com
第三方源列表
- http://pypi.douban.com/ 豆瓣
- http://pypi.hustunique.com/ 华中理工大学
- http://pypi.sdutlinux.org/ 山东理工大学
- http://pypi.mirrors.ustc.edu.cn/ 中国科学技术大学
2015-04-01
| 键 | 值 |
|——————-+—————————————————-|
| DOCUMENT_ROOT | http服务器根目录 |
| GATEWAY_INTERFACE | CGI版本 |
| HTTP_COOKIE | COOKIE值(若存在的话) |
| HTTP_HOST | 尝试获取的页面所在服务器的主机名 |
| HTTP_USER_AGENT | 客户端代理类型(浏览器类型) |
| QUERY_STRING | GET请求中的查询字符串 |
| REMOTE_ADDR | 客户端IP |
| REMOTE_HOST | 客户端主机名(需要开启reverse-name-lookup) |
| REMOTE_PORT | 客户端连接服务器的端口 |
| REQUEST_METHOD | 请求方法(GET,POST) |
| REQUEST_URI | URL中去除主机名的部分(相对于服务器的document root) |
| SCRIPT_FILENAME | 访问资源在服务器中的完全路径名 |
| SCRIPT_NAME | 访问资源的路径,URL中的路径部分 |
| SERVER_ADDR | 服务器IP |
| SERVER_ADMIN | 服务器管理员邮箱 |
| SERVER_NAME | 服务器域名 |
| SERVER_PORT | 服务器监听端口 |
| SERVER_PROTOCOL | 服务器http协议版本 |
| SERVER_SOFTWARE | 服务器软件名称 |
示例
1 | http://localhost/cgi-bin/debug/print_all?a |
参考
2015-03-31
from A.B.C import D
C之前的名字必须是包名
C必须是模块名
不能是已定义的名字(变量,函数,类),如果这样的话,D没有意义
D名字导入进来,可以直接使用
D.name
访问
import A.B
最后部分可以是包名,模块名,已定义名字
需要使用
A.B.name
访问
参考
2015-03-31
要点
包是一种模块命名空间的组织方法,使用
package.module
方式来访问模块,用来避免模块名冲突python语法上,包是带有
__init__.py
的目录使用
from package import item
导入item
可以是已定义的名字,子模块或子包
使用
参考
2015-03-31
要点
一个*.py文件即一个模块
主模块,程序的入口模块
文件名(不包括路径和拓展名)即模块名,可通过
__name__
得到,主模块名叫__main__
模块是一种代码组织方式,具有方便开发,测试,维护,复用等优点
模块中的符号表是私有的,意味着在模块当中的符号不会与其他模块冲突
内建方法
dir()
查看模块名字
使用
module.py
1 | var = 1 |
无污染方式(优先使用)
导入模块
import moudle
访问模块中的符号(变量名,函数名)
module.var module.func
污染方式(不推荐使用)
部分导入
导入
from module import var
使用
var
全部导入(不会导入单下划线_
开头的符号)
导入模块
from module import *
使用
var func
模块搜索路径
工作目录
sys.path(路径字符串列表)中的顺序搜索
标准模块(标准库)
有些内建到解释器中
有些依赖于平台,如win下的
winreg