1. sys.path, sys.path是python的搜索模块的路径集,是一个list.可以在python 环境下使用sys.path.append(path)添加相关的路径,但在退出python环境后自己添加的路径就会自动消失!
2. os.path, This module implements some useful functions on pathnames.
3. shutil -- High-level file operations 是一种高层次的文件操作工具 ,主要强大之处在于其对文件的复制与删除操作支持的比较好。
4. socket - low level network interface.
5. getopt.getopt()是专门用来处理命令行参数的。
try:
opts, args = getopt.getopt(sys.argv[1:], "ho:", ["help", "output="])
except getopt.GetoptError:
1. 使用sys.argv[1:] 过滤掉第一个参数(它是执行脚本的名字,算作参数argv[0])。
2. 使用短格式分析串"ho:" 。当一个选项只是表示开关状态时,即后面不带附加参数时,在分析串中写入选项字符。当选项后面是带一个附加参数时,在分析串中写入选项字符同时后面加一个":" 号 。所以"ho:" 就表示"h" 是一个开关选项;"o:" 则表示后面应该带一个参数。
3. 使用长格式分析串列表:["help", "output="] 。长格式串也可以有开关状态,即后面不跟"=" 号。如果跟一个等号则表示后面还应有一个参数 。这个长格式表示"help" 是一个开关选项;"output=" 则表示后面应该带一个参数。
4. 调用getopt 函数。函数返回两个列表:opts 和args 。opts 为分析出的格式信息。args 为不属于格式信息的剩余的命令行参数。opts 是一个两元组的列表。每个元素为:( 选项串, 附加参数) 。如果没有附加参数则为空串'' 。
5. 整个过程使用异常来包含,这样当分析出错时,就可以打印出使用信息来通知用户如何使用这个程序。
如上面解释的一个命令行例子为: '-h -o file --help --output=out file1 file2'
在分析完成后,opts 应该是: [('-h', ''), ('-o', 'file'), ('--help', ''), ('--output', 'out')]
而args 则为: ['file1', 'file2'] 接下来主要是对分析出的参数进行判断是否存在,然后再进一步处理。
6. socket = socket(AF_INET,SOCK_STREAM)
SOCK_STREAM提供面向连接的稳定数据传输,即TCP协议。socket函数的使用方法如下:
int socket(int domain, int type, int protocol);
在参数表中,domain指定使用何种的地址类型,比较常用的有:
PF_INET, AF_INET: Ipv4网络协议;
PF_INET6, AF_INET6: Ipv6网络协议。
type参数的作用是设置通信的协议类型,可能的取值如下所示:
SOCK_STREAM: 提供面向连接的稳定数据传输,即TCP协议。
OOB: 在所有数据传送前必须使用connect()来建立连接状态。
SOCK_DGRAM: 使用不连续不可靠的数据包连接。
SOCK_SEQPACKET: 提供连续可靠的数据包连接。
SOCK_RAW: 提供原始网络协议存取。
SOCK_RDM: 提供可靠的数据包连接。
SOCK_PACKET: 与网络驱动程序直接通信。
参数protocol用来指定socket所使用的传输协议编号。这一参数通常不具体设置,一般设置为0即可。
7.os:这个模块包含普遍的操作系统功能。利用这个模块可以写出与平台无关的程序,比如就是使用os.sep可以取代操作系统特定的路径分割符。
os.name:获取当前系统平台,Windows下返回'nt',Linux下返回'posix'。
os.linesep:获取当前平台使用的行终止符。Windows下返回'/r/n',Linux使用'/n'。
os.getcwd(): 获取当前工作目录,即当前python脚本工作的目录路径。
os.listdir(path):返回指定目录下的所有文件和目录名。
os.remove(path/filename)函数用来删除一个文件。os.system()函数用来运行shell命令。此命令可以方便的调用或执行其他脚本和命令
例如:#打开记事本
>>>os.system('notepad')
#打开指定的文件
>>>os.system('notepad mynote.txt')
os.path.split()函数返回一个路径的目录名和文件名。
os.path.existe()函数用来检验给出的路径是否真地存在。
8. sys:sys模块的功能很多.
sys.argv: 实现从程序外部向程序传递参数。
>>>python print.py arg1 arg2
一般来说,argv[0]代表的是执行的程序的文件名,即script.py,argv[1],argv[2]分别对应解释器命令中的arg1,arg2。
sys.exit([arg]): 程序中间的退出,arg=0为正常退出。
sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。
sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。(见设置系统默认编码 )
sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'.
sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
sys.platform: 获取当前系统平台。