模块:
到目前为止,我们在 Python 解释器中写的所有代码都在我们退出解释器的时候丢失了。但是当人们编写大型程序的时候他们会倾向于将代码分为多个不同的文件以便使用,调试以及拥有更好的可读性。在 Python 中我们使用模块来到达这些目的。模块是包括 Python 定义和声明的文件。文件名就是模块名加上 .py 后缀。
可以由全局变量 __name__ 得到模块的模块名(一个字符串)
导入模块:
也可以使用 from module import * 导入模块中的所有定义,然而这并不是推荐的做法
包:
含有 __init__.py 文件的目录可以用来作为一个包,目录里的所有 .py 文件都是这个包的子模块
如果你在 python3 解释器中进行测试,需要确定是在 mymodule 目录同级的目录下执行的 python3,类似下面的操作,否则会出现 ImportError: No module named 'mymodule' 的报错
from mymodule import * 只能工作在模块级别的对象上,试图导入函数或类将导致 syntax error。
https://docs.python.org/3/tutorial/modules.html#packages
默认模块:help()
os 模块:os 模块提供了与操作系统相关的功能。
http://docs.python.org/3/library/os.html#module-os
getuid() 函数返回当前进程的有效用户 id。
uname() 函数返回识别操作系统的不同信息,在 Linux 中它返回的详细信息可以从 uname -a 命令得到。uname() 返回的对象是一个元组,(sysname, nodename, release, version, machine)
getcwd() 函数返回当前工作目录。chdir(path) 则是更改当前目录到 path
https://docs.python.org/3/library/os.html
Requests 模块:http://docs.python-requests.org/zh_CN/latest/
第三方 Python 模块
官网的介绍:
Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。
警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁、头疼、甚至死亡。
第三方模块并不是默认的模块,意味着你需要安装它,我们使用 pip3 安装它。
首先要安装 pip3:
$ sudo apt-get update $ sudo apt-get install python3-pip
$ sudo pip3 install requests
sudo gedit /etc/apt/sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
sudo apt-get update
sudo apt-get upgrade
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
req 的 text 属性存有服务器返回的 HTML 网页
能够从指定的 URL 中下载文件的程序
if __name__ == '__main__': 这条语句,它的作用是,只有在当前模块名为 __main__的时候(即作为脚本执行的时候)才会执行此 if 块内的语句。换句话说,当此文件以模块的形式导入到其它文件中时,if 块内的语句并不会执行
可以将上面的程序修改的更友好些。举个例子,你可以检查当前目录是否已存在相同的文件名。os.path 模块可以帮助你完成这个
http://docs.python.org/3/library/os.path.html#module-os.path
argparse 命令行参数处理模块
这里是用到的模块是 sys,命令行传入的所有参数都可以使用 sys.argv 获取
https://docs.python.org/3/howto/argparse.html
TAB 补全:
https://docs.python.org/3/library/index.html