异常:
Java异常:
try catch块处理异常,throw引发异常。
Python异常:
try except块处理异常,raise引发异常。
异常如果不主动处理,则会交给Python中的缺省处理,终止程序。所以应该在可预见的地方添加try except块,比如打开文件时没有文件,链接数据库时不可链接等等。
#使用多个except处理不同的异常#缺省的except要在末尾#else表示如果没有任何异常发生则执行else的语句try:f = open("xxx", "r")except KeyError:print 'key error'except IOError:print 'io'except:print 'default'else:print 'tongguo'#try except块执行后顺序执行其他代码print 'end'#try except可嵌套使用try:passexcept:try:passexcept:passelse:print "No Error"
python为什么叫爬虫?=============================
文件:
打开文件,读取文件内容:open用来打开磁盘上的文件,返回一个文件对象。
f = open("fileinfo.py", 'a')#一些文件对象的属性#print type(f), f.mode, f.name#tell返回文件指针位置,现在我们只是打开什么也没做print f.tell()#seek移动指针到指定位置。第二个参数表明第一个参数是什么意思#0表示移动到绝对位置(从文件开头算起)#1表示移动到相对位置(从当前位置算起)#2表示从文件末尾开始算起f.seek(10, 0)print f.tell()#读出文件全部内容print f.read()
关闭文件:close关闭文件。一是消耗资源,二是其他程序不能访问他们(取决于文件打开的模式)
f = open("fileinfo.py", "r")#文件对象的closed属性表示文件对象是否关闭了文件print f.closedf.close()#虽然fileinfo.py这个文件被关闭了,但是这不意味着文件对象不存在了,f将继续存在直到被回收或手动删除。这样一来再用f操作文件的函数就会引发异常。print f, f.closedtry:f.tell()except:print "error"
使用try finally块,处理IO错误:
#try finally块保证无论是否有异常,finally块中的代码一定执行,用来关闭文件#try except块与try finally块结合使用:try:#如果这一步没出现异常,那么文件将被打开。#一旦文件打开成功,最后就要关闭它所以这里用try finally块f = open('fileinfo.py', 'r', 0)try:f.seek(-128, 2)print f.read(128)finally:f.close()except:pass
python inconsistent use of tabs。 写入文件:追加append,写入覆盖write,文件不存在则创建之
#两种写模式:追加(a) 和 写入覆盖(w)。#如果文件不存在,两种都会自动创建文件。f = open('a.txt', 'a+')#f = open('a.txt', 'w')f.write('aaa')f.close()
sys、os、glob模块的简单使用:
import sys#sys.modules:#返回所有被导入到当前文件的模块print '\n'.join(sys.modules)import os#os.path.split:#分割path,返回路径和文件全名的tuple(filepath, filename) = os.path.split("c:/a/b/c.txt")print (filepath, filename)#os.path.splitext:#分割文件全名,返回文件名和扩展名的tuple(shortname, extension) = os.path.splitext(filename)print (shortname, extension)#os.listdir:#返回list,列出给定目录下所有内容,但不能区分是文件还是文件夹#这里 . 表示列出当前目录print os.listdir(".")#os.path.isfile:#判断是否为文件,是文件返回True,不是返回Falseprint [f for f in os.listdir('.') if os.path.isfile(f)]#os.path.isdir:#判断是否为目录,是目录返回True,不是返回Falseprint [d for d in os.listdir('.') if os.path.isdir(d)]#os.path.join:#连接两个path为一个完整目录print os.path.join('path', 'file')import glob#glob.glob:#1返回目录下所有文件或目录的 "完整" 路径#2可以接受通配符*来匹配所有相应文件print os.listdir("./")print glob.glob("./*")
python local variable。