SubSections
模块
输入输出
错误检查
类
标准库
七、模块
(1)、模块导入
#系统模块
import os, sys, shutil, logging
#自定义模块
import proc, proc1
(2)、模块调用
proc.all_proc(param,param, param)
模块搜索路径
导入一个叫proc的模块时,解释器先在当前目录中搜索名为proc.py 的文件,然后在环境变量PYTHONPATH表示的目录列表中搜索,然后是环境变量PATH中的路径列表。如果 PYTHONPATH没有设置,或者文件没有找到,接下来搜索安装目录.D:\Python27
(3)、标准模块(Standard Modules)
核心模块 具体参照《python标准库》
1. 内建函数和异常
_ _builtin_ _ 模块和内建异常的exceptions
定义内建函数(例如 len, int, range ...)和所有异常。
Python 在启动时导入这两个模块, 使任何程序都能够使用它们.
2. 操作系统接口模块
它们为底层操作系统提供了平台独立的接口.
这类的模块包括: 提供文件和进程处理功能的os模块;
提供平台独立的文件名处理 (分拆目录名, 文件名, 后缀等)的os.path模块;
以及时间日期处理相关的 time/datetime 模块.
3. 类型支持模块
标准库里有许多用于支持内建类型操作的库.
string模块实现了常用的字符串处理.
math模块提供了数学计算操作和常量(pi, e都属于这类常量),
cmath模块为复数提供了和 math 一样的功能.
4. 正则表达式
re模块为Python提供了正则表达式支持. 正则表达式是用于匹配字符串或特定子字符串的有特定语法的字符串模式.
5. 语言支持模块
sys模块可以让你访问解释器相关参数,比如模块搜索路径,解释器版本号等.
operator模块提供了和内建操作符作用相同的函数. copy 模块允许你复制对象,
Python 2.0新加入的gc模块提供了对垃圾收集的相关控制功能.
(4)、Packages 包
A.B 的模块表示了名为 "B" 的包中名为 "A" 的子模块。使用模块来保存不同的模块架构可以避免全局变量之间的相互冲突,使用包可以避免模块之间的命名冲突。
八、输入输出
(1)、字符串的输出
print
import os
fileName = r"ac.txt";
filePath=r"e:\ac.txt";
print fileName,os.path.abspath(filePath)
output:ac.txt e:\ac.txt
os.path的一些操作
os.path.abspath(path)
返回path规范化的绝对路径。
os.path.abspath('test.csv')
'C:\\Python25\\test.csv'
os.path.split(path)
将path分割成目录和文件名二元组返回。
os.path.split('c:\\csv\\test.csv')
('c:\\csv', 'test.csv')
os.path.dirname(path)
返回path的目录。其实就是os.path.split(path)的第一个元素。
os.path.basename(path)
返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素。
os.path.exists(path)
如果path存在,返回True;如果path不存在,返回False。
os.path.isfile(path)
如果path是一个存在的文件,返回True。否则返回False。
os.path.isdir(path)
如果path是一个存在的目录,则返回True。否则返回False。
os.path.join(path1[, path2[, ...]])
将多个路径组合后返回,第一个绝对路径之前的参数将被忽略。
os.path.join('c:\\', 'csv', 'test.csv')
'c:\\csv\\test.csv'
(2)、文件的读和写
open() 返回一个文件,通常的用法需要两个参数open(filename, mode)。
可选的模式有'r' ,此选项使文件只读;
'w',此选项使文件只写(对于同名文件,该操作使原有文件被覆盖);
'a' ,此选项以追加方式打开文件;
'r+' ,此选项以读写方式打开文件;
如果没有指定,默认为 'r' 模式。
(3)、文件对象操作
f = open(filePath, 'r')
f.read(size);该方法读取若干数量的数据并以字符串形式返回其内容,字符串长度为数值size 所指定的大小。如果没有指定 size或者指定为负数,就会读取并返回整个文件。
如果到了文件末尾,f.read()会返回一个空字符串("")。
f.readline()从文件中读取单独一行,字符串结尾会自动加上一个换行符,只有当文件最后一行没有以换行符结尾时,这一操作才会被忽略。这样返回值就不会有什么混淆不清,如果如果 f.readline()返回一个空字符串,那就表示到达了文件末尾,如果是一个空行,就会描述为'\n′ ,一个只包含换行符的字符串。
f.write(string) 将 string 的内容写入文件,返回 None 。
value = ('the answer', 42)
s = str(value) #'('the answer', 42)'
f.write(s)
九、错误检查
十、类
格式
class myObject(base):
body
参数base 是一个父类,Object 类是所有类的子类。
eg:
#!/usr/bin/python
# -*- coding: utf-8 -*-
'''
Created on 2012-12-17
@author: chenll
'''
class persion(object):
'class document' # 类文档
#定义构造器
def __init__(self,nm,ph): #注意__init__,是两个下划线,而不是_init_
self.name = nm #设置name
self.phone = ph #设置phone
def printPer(self):
print 'my persion' + self.name + ',' +self.phone
#self 代表实例对象本身
def main():
myPersion = persion( 'chen ','186188')
myPersion.name
myPersion.phone
myPersion.printPer()
if __name__ == "__main__":
main();
十一、标准库
Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。
Python标准库的主要功能有:
文本处理,包含文本格式化、正则表达式匹配、文本差异计算与合并、Unicode支持,二进制数据处理等功能
文件处理,包含文件操作、创建临时文件、文件压缩与归档、操作配置文件等功能
操作系统功能,包含线程与进程支持、IO复用、日期与时间处理、调用系统函数、写日记(logging)等功能
网络通信,包含网络套接字,SSL加密通信、异步网络通信等功能
网络协议,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多种网络协议,并提供了编写网络服务器的框架
W3C格式支持,包含HTML,SGML,XML的处理。
其它功能,包括国际化支持、数学运算、HASH、Tkinter等
#!/usr/bin/python
# -*- coding: utf-8 -*-
'''
Created on 2012-12-17
@author: chenll
'''
import sys
def main():
'''
(1)、sys模块。
当前运行的程序名称,作为 sys.argv[0]其他的命令行参数在这个项目之后。
'''
if len(sys.argv) >0:
print sys.argv[0];
if len(sys.argv) >1:
print sys.argv[1];
'''
D:\Workspaces\Python\com\mapbar\python>python HelloWorld1.py x
HelloWorld1.py
x
'''
'''
(2)、os模块,这个模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。比如:使用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()函数返回一个路径的目录名和文件名
os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
os.path.existe()函数用来检验给出的路径是否真地存在。
'''
if __name__ == "__main__":
main();