导航
导航
文章目录
  1. 14.1 简介
  2. 14.2 sys模块
    1. 命令行参数
    2. 输出
    3. 如何工作
    4. 更多sys的内容
  3. 14.3 os模块

简明Python教程-14.Python标准库

14.1 简介

Python标准库是随Python附带安装的,包含大量有用的模块
熟悉Python标准库十分重要,可以简单快捷地解决大多数问题
Python附带安装的文档中,Python标准库一节可以了解Python标准库中所有模块的完整内容

14.2 sys模块

sys模块包含系统对应的功能,如已经学习的包含命令行参数sys.argv列表

命令行参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/python
# Filename: cat.py

import sys

def readfile(filename):
'''Print a file to the standard output.'''
f = file(filename)
while True:
line = f.readline()
if len(line) == 0:
break
print line, # notice comma
f.close()

# Script starts from here
if len(sys.argv) < 2:
print 'No action specified.'
sys.exit()

if sys.argv[1].startswith('--'):
option = sys.argv[1][2:]
# fetch sys.argv[1] but without the first two characters
if option == 'version':
print 'Version 1.2'
elif option == 'help':
print '''\
This program prints files to the standard output.
Any number of files can be specified.
Options include:
--version : Prints the version number
--help : Display this help'''
else:
print 'Unknown option.'
sys.exit()
else:
for filename in sys.argv[1:]:
readfile(filename)

输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ python cat.py
No action specified.

$ python cat.py --help
This program prints files to the standard output.
Any number of files can be specified.
Options include:
--version : Prints the version number
--help : Display this help

$ python cat.py --version
Version 1.2

$ python cat.py --nonsense
Unknown option.

$ python cat.py poem.txt
Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!

如何工作

程序实现Linux/Unix系统中的cat命令,打印输出指明的文本文件内容
在Python程序运行时,即不在交互模式下,sys.argv列表中至少有一个项目,即当前运行的程序名称,作为sys.argv[0],其他命令行参数在此项目之后
程序提供了选项来提供更多内容,使用第一个参数检验程序选项
如果使用–version选项,则程序会打印版本号,如果使用–help选项,程序打印程序的解释
使用sys.exit函数退出运行的程序(参见help(sys.exit))
如果提供文件名,程序简单地打印出每个文件的每一行,按照命令行中的顺序逐个文件打印
(cat是concatenate的缩写,如它的名字,可以输出打印一个文件,或把两个及以上文件连接在一起打印)

更多sys的内容

sys.version字符串,安装的Python版本信息
sys.version_info元组,以元组形式给出安装的Python版本信息
sys.stdin、sys.stdout、sys.stderr分别对应程序的标准输入、标准输出、标准错误流

14.3 os模块

包括普遍的操作系统功能,可以保证程序平台无关,即不需改动,就可以在Linux和Windows下运行
例如:
os.sep字符串,提供操作系统特定的路径分割符
os.name字符串,指示正在使用的平台。如Windows返回’nt’,Linux/Unix返回’posix’
os.getcwd(),得到当前工作目录,即当前Python脚本工作的目录路径
os.getenv(),读取环境变量
os.putenv(),设置环境变量
os.listdir(),返回制定目录下的所有文件和目录名
os.remove(),删除一个文件
os.system(),运行shell命令
os.linesep字符串,给出当前平台使用的行终止符。如Windows使用’\r\n’,Linux使用’\n’,Mac使用’\r’
os.path.split(),返回一个路径的目录名和文件名

1
2
>>> os.path.split('/home/swaroop/byte/code/poem.txt')
('/home/swaroop/byte/code', 'poem.txt')

os.path.isfile(),检验给出的路径是不是文件
os.path.isdir(),检验给出的路径是不是目录
os.path.exists(),检验给出的路径是否存在
可以利用Python标准文档来探索相关函数和变量的详细知识,或使用help(sys)