python学习之路- 标准库
2012-11-07 09:12
239 查看
Python 标准库是随 Python 附带安装的,它包含大量极其有用的模块。熟悉 Python 标准库是十分重要的,
因为如果你熟悉这些库中的模块,那么你的大多数问题都可以简单快捷地使用它们来解决。
命令行参数
#!/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)
输出:
horst@debian:~/horstdemo/python$ python ./sys_cat.py
No action specified.
horst@debian:~/horstdemo/python$ python ./sys_cat.py poem.txt
Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!
为了使这个程序对用户更加友好,我们提供了一些用户可以指定的选项来了解更多程序的内容。我们
使用第一个参数来检验我们的程序是否被指定了选项。如果使用了--version 选项,程序的版本号将被打印
出来。类似地,如果指定了--help 选项,我们提供一些关于程序的解释。我们使用 sys.exit 函数退出正在运
行的程序。和以往一样,你可以看一下 help(sys.exit)来了解更多详情。
如果没有指定任何选项,而是为程序提供文件名的话,它就简单地打印出每个文件地每一行,按照命
令行中的顺序一个文件接着一个文件地打印。
顺便说一下,名称 cat 是 concatenate 的缩写,它基本上表明了程序的功能——它可以在输出打印一个
文件或者把两个或两个以上文件连接/级连在一起打印。
的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在 Linux 和 Windows 下运
行。一个例子就是使用 os.sep 可以取代操作系统特定的路径分割符。
下面列出了一些在 os 模块中比较有用的部分。它们中的大多数都简单明了。
os.name 字符串指示你正在使用的平台。 比如对于 Windows,它是'nt',
而对于 Linux/Unix 用户, 它是'posix'。
os.getcwd()函数得到当前工作目录,即当前 Python 脚本工作的目录路径。
os.getenv()和 os.putenv()函数分别用来读取和设置环境变量。
os.listdir()返回指定目录下的所有文件和目录名。
os.remove()函数用来删除一个文件。
os.system()函数用来运行 shell 命令。
Windows 使用'\r\n',Linux 使用'\n'而 Mac 使用'\r'。
os.linesep 字符串给出当前平台使用的行终止符。 例如,
os.path.split()函数返回一个路径的目录名和文件名。
os.path.isfile()和 os.path.isdir()函数分别检验给出的路径是一个文件还是目录。类似地,os.path.existe()
函数用来检验给出的路径是否真地存在。
你可以利用 Python 标准文档去探索更多有关这些函数和变量的详细知识。你也可以使用 help(sys)等等。
学习这两个模块以及其他模块的更多内容。
因为如果你熟悉这些库中的模块,那么你的大多数问题都可以简单快捷地使用它们来解决。
sys 模块
sys 模块包含系统对应的功能。它包含命令行参数,系统信息、标准输入、标准输出和标准错误流等。命令行参数
#!/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)
输出:
horst@debian:~/horstdemo/python$ python ./sys_cat.py
No action specified.
horst@debian:~/horstdemo/python$ python ./sys_cat.py poem.txt
Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!
为了使这个程序对用户更加友好,我们提供了一些用户可以指定的选项来了解更多程序的内容。我们
使用第一个参数来检验我们的程序是否被指定了选项。如果使用了--version 选项,程序的版本号将被打印
出来。类似地,如果指定了--help 选项,我们提供一些关于程序的解释。我们使用 sys.exit 函数退出正在运
行的程序。和以往一样,你可以看一下 help(sys.exit)来了解更多详情。
如果没有指定任何选项,而是为程序提供文件名的话,它就简单地打印出每个文件地每一行,按照命
令行中的顺序一个文件接着一个文件地打印。
顺便说一下,名称 cat 是 concatenate 的缩写,它基本上表明了程序的功能——它可以在输出打印一个
文件或者把两个或两个以上文件连接/级连在一起打印。
os 模块
这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在 Linux 和 Windows 下运
行。一个例子就是使用 os.sep 可以取代操作系统特定的路径分割符。
下面列出了一些在 os 模块中比较有用的部分。它们中的大多数都简单明了。
os.name 字符串指示你正在使用的平台。 比如对于 Windows,它是'nt',
而对于 Linux/Unix 用户, 它是'posix'。
os.getcwd()函数得到当前工作目录,即当前 Python 脚本工作的目录路径。
os.getenv()和 os.putenv()函数分别用来读取和设置环境变量。
os.listdir()返回指定目录下的所有文件和目录名。
os.remove()函数用来删除一个文件。
os.system()函数用来运行 shell 命令。
Windows 使用'\r\n',Linux 使用'\n'而 Mac 使用'\r'。
os.linesep 字符串给出当前平台使用的行终止符。 例如,
os.path.split()函数返回一个路径的目录名和文件名。
os.path.isfile()和 os.path.isdir()函数分别检验给出的路径是一个文件还是目录。类似地,os.path.existe()
函数用来检验给出的路径是否真地存在。
你可以利用 Python 标准文档去探索更多有关这些函数和变量的详细知识。你也可以使用 help(sys)等等。
概括
我们已经学习了 Python 标准库中的 sys 模块和 os 模块的一部分功能。你应该利用 Python 标准文档去学习这两个模块以及其他模块的更多内容。
相关文章推荐
- python学习之路- 标准库
- python学习之路-11 多线程、多进程、协程
- 【人生苦短,我用python】学习之路1
- python 学习之路(迭代器&生成器)
- java菜鸟的Python学习之路(1)
- Python标准库学习 (上)
- python学习之路——函数参数问题
- Python学习之路-初学篇之初识装饰器
- Python学习之路16——元组
- Python 标准库一览(Python进阶学习)
- python学习之路-模块
- 我的python学习之路----发送邮件(基于smtp)
- python 学习之路(集合)
- Python学习之路【一】
- python 包pandas的学习之路(-)
- 我的python学习之路
- python标准库学习笔记02-time,datetime包
- Python学习之路5 - 函数
- python学习之路-第二天-常见的注意事项(代码风格、运算符、优先级、控制语句)
- Python 标准库学习之 pathlib