sys模块
sys模块包含系统对应的功能。我们已经学习了sys.argv列表,它包含命令行参数。
命令行参数
#!/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)
输出
$ 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!
函数:sys.argv[][], sys.exit()
os模块
这个模块包含普遍的操作系统功能。
如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。一个例子就是使用os.sep可以取代操作系统特定的路径分割符。
os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。
os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
os.getenv()和os.putenv()函数分别用来读取和设置环境变量。
//os.getenv(argv) 参数为 常用环境变量名 ‘PATH’'HOME' 可参考 "环境变量作用 "
os.listdir()返回指定目录下的所有文件和目录名。
os.remove()函数用来删除一个文件。
os.system()函数用来运行shell命令。
os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
os.path.split()函数返回一个路径的目录名和文件名。
>>> os.path.split('/home/swaroop/byte/code/poem.txt')
('/home/swaroop/byte/code', 'poem.txt')
os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。类似地,os.path.existe()函数用来检验给出的路径是否真地存在。
更多用法
在函数中接收元组和列表
当要使函数接收元组或字典形式的参数的时候,有一种特殊的方法,它分别使用*和**前缀。这种方法在函数需要获取可变数量的参数的时候特别有用。
#!/usr/bin/env python
#filename:rec_tuple.py
def powersum(power,
*args):
total = 0
for i
in args:
total +=pow(i, power)
return total
print powersum(2,3,
4)
print powersum(2,10)
输出:
25
100
由于在args变量前有*前缀,所有多余的函数参数都会作为一个元组存储在args中。如果使用的
是**前缀,多余的参数则会被认为是一个字典的键/值对。
lambda形式
lambda语句被用来创建新的函数对象,并且在运行时返回它们。
#!/usr/bin/python
# Filename: lambda.py
def make_repeater(n):
return
lambda s: s*n
twice = make_repeater(2)
print twice('word')
print twice(5)
输出
$ python lambda.py
wordword
10
分析:使用了make_repeater函数在运行时创建新的函数对象,并且返回它。lambda语句用来创建函数对象。本质上,lambda需要一个参数(本例为 s),后面仅跟单个表达式作为函数体 (本例为 s*n),而表达式的值被这个新建的函数返回。
exec和eval语句
exec语句用来执行储存在字符串中的Python语句。
exerfile()用来执行储存在文件中的Python语句。
例如 可以在运行时生成一个包含Python代码的字符串,然后使用exec语句执行这些语句。
eval语句用来计算存储在字符串中的有效Python表达式。
#!/usr/bin/env python
#filename:exec.py
print
'exec:'
exec
'print "hello world"'
print
'execfile:'
execfile(r'lambda.py')
print
'eval:'
print
eval ('2*3')
输出:
exec:
hello world
execfile:
wordword
10
9
81
eval:
6
assert语句
assert语句用来声明某个条件是真的。例如,如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert语句是应用在这种情形下的理想语句。当assert语句失败的时候,会引发一个AssertionError。
>>> mylist = ['item']
>>> assert len(mylist) >= 1
>>> mylist.pop()
'item'
>>> assert len(mylist) >= 1
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError
总结完毕,欢迎各位多多交流
分享到:
相关推荐
"Python基础教程---简明Python教程"是Swaroop C. H.撰写,并由沈洁元翻译的一本针对初学者的指导书籍。这本书旨在帮助读者快速掌握Python编程的基本概念和技能。 1. **Python简介**: Python是一种解释型、面向...
《简明Python教程》中文版,也被称为《Byte of Python》,是Python编程语言的一本入门级教程,适合初学者和对编程有一定基础的人群。这本书以其简洁明了的风格,深入浅出地介绍了Python的基本概念和语法,为读者提供...
"简明Python教程-V4.08c-第4版-最新版"是这个经典教程的最新版本,相较于早期版本,可能包含了一些改进、修复和新特性。4.08c版可能涵盖了Python语言的新发展,如新模块的介绍、语法优化或对已有内容的深度解析。...
### Python初学教程:《简明Python教程》 #### 知识点概述: 根据所提供的《简明Python教程》部分信息,我们可以归纳出一系列重要的Python基础知识和技术要点,这些内容非常适合Python初学者作为入门指南。 #### ...
- **sys模块**: - 提供与解释器和其环境交互的函数。 - 如`sys.argv`获取命令行参数。 - **os模块**: - 提供了一种便携的方式用于使用操作系统依赖的功能。 - 如`os.path`处理路径。 #### 15. 高级主题 - *...
`简明Python教程.chm`和`python标准库.chm`都是这种格式的文件,其中包含了丰富的文字、例子和可能的索引,用户可以通过内置的搜索功能快速查找所需信息。 通过这个压缩包,初学者不仅可以学习Python的基本概念,还...
### 知识点总结:《简明Python教程》 #### 核心知识点: 1. **Python语言基础**:包括变量、数据类型(如数字、字符串)、运算符与表达式、控制流(如if语句、while循环、for循环)。 2. **函数与模块**:涵盖...
### 知识点详解:简明Python教程 #### 标题和描述理解 标题和描述“简明Python教程 完整中文版 简单入门”明确指出这是一份适合初学者使用的Python教程,旨在通过简洁明了的方式帮助读者快速掌握Python编程的基础...
"简明Python教程Html版"是一个专门为初学者设计的在线学习资源,旨在帮助读者快速掌握Python的基础知识。 1. **变量与数据类型** Python中的变量无需预声明,可以直接赋值。它支持多种数据类型,如整型(int)、...
sys模块109 os模块..112 概括.....113 第15章更多Python的内容......114 特殊的方法.......114 单语句块..........115 列表综合..........115 在函数中接收元组和列表.......116 lambda形式.......117 exec...
《简明Python教程》是一本面向初学者的Python编程指南,旨在帮助读者快速掌握Python语言的基础知识和核心概念。Python是一种广泛应用于数据处理、Web开发、科学计算等领域的高级编程语言,以其简洁、易读的语法深受...
《简明Python教程4.08C》是Python编程领域的一本入门级教材,适合初学者和有一定基础的程序员学习。第四版的更新通常意味着对先前版本的改进和完善,更贴近当前Python语言的发展趋势和最佳实践。教程包含了丰富的...
这个"简明Python教程.chm"文件很可能包含了以上所有内容的详细讲解,以及实例演示和练习,对于初学者来说,是一份非常实用的学习资料。通过深入学习和实践,读者将能够熟练掌握Python编程,为后续的深入学习和项目...
"A Byte of Python"是一本著名的Python入门书籍,中文版"简明Python教程.chm"可能包含以下内容: 1. **基础语法**:介绍如何安装Python,解释变量、数据类型(如整数、浮点数、字符串、布尔值等)以及基本的输入/...
通过学习上述知识点,并结合《简明Python教程》和《Python_精要参考》这两本书,你可以全面了解Python的基础,并为进一步深入学习和实践打下坚实基础。不断练习和应用这些知识,将有助于你成为一名熟练的Python...
例如,os模块可以用于文件和目录操作,sys模块则提供了与Python解释器交互的接口。 在学习Python过程中,掌握标准库的使用也是必要的。比如,`os`模块用于操作系统相关的功能,`sys`模块用于获取系统信息,`math`...
Python的标准库非常丰富,包含了各种模块和包,如os用于操作系统交互,sys用于系统相关操作,math用于数学运算,random用于生成随机数,以及urllib和requests用于网络请求。这些模块大大扩展了Python的功能。 面向...