异常:

  
  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:
pass
except:
try:
pass
except:
pass
else:
print "No Error"

=============================
文件:
  打开文件,读取文件内容: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.closed f.close()
#虽然fileinfo.py这个文件被关闭了,但是这不意味着文件对象不存在了,f将继续存在直到被回收或手动删除。这样一来再用f操作文件的函数就会引发异常。
print f, f.closed
try:
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

  写入文件:追加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,不是返回False
print [f for f in os.listdir('.') if os.path.isfile(f)]
#os.path.isdir:
#判断是否为目录,是目录返回True,不是返回False
print [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("./*")

devi into python 笔记(五)异常 文件操作 sys os glob模块简单实用的更多相关文章

  1. python笔记4-遍历文件夹目录os.walk()

    前言 如何遍历查找出某个文件夹内所有的子文件呢?并且找出某个后缀的所有文件 walk功能简介 1.os.walk() 方法用于通过在目录树种游走输出在目录中的文件名,向上或者向下. 2.walk()方 ...

  2. 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容

     孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...

  3. Python复习笔记-字典和文件操作

    抽时间回顾2年前自己做过的python工具,突然感觉不像自己写的,看来好久没用过python的字典和文件操作了,查询资料和网页,整理如下: 一.字典 键值对的集合(map) 字典是以大括号“{}”包围 ...

  4. Python学习系列(五)(文件操作及其字典)

    Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件      在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...

  5. Windows phone 8 学习笔记(2) 数据文件操作

    原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方 ...

  6. Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块

    Python第五天   文件访问    for循环访问文件    while循环访问文件   字符串的startswith函数和split函数  linecache模块 目录 Pycharm使用技巧( ...

  7. ES6学习笔记<五> Module的操作——import、export、as

    import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...

  8. Python程序中的线程操作(线程池)-concurrent模块

    目录 Python程序中的线程操作(线程池)-concurrent模块 一.Python标准模块--concurrent.futures 二.介绍 三.基本方法 四.ProcessPoolExecut ...

  9. python学习笔记(五)文件操作和集合

    文件基本操作: 现有文件file.txt f=open('file.txt','r')#以只读方式打开一个文件,获取文件的句柄,如果是读的话,r可以不写,默认就是只读:文件不存在时,会报错 first ...

随机推荐

  1. js实现一个砖头在页面拖拉效果

    用js实现一个砖头在页面,但鼠标点击拖动时,砖头在页面上形成拖拉效果: 刚开始时: 鼠标点击拖动后: 实现代码: <html>   <head>       <meta ...

  2. linux下用户以及用户组管理

    /etc/passwd ‘/etc/passwd’ 由 ‘:’ 分割成7个字段,每个字段的具体含义是: 1)用户名.用户名字符可以是大小写字母.数字.减号(不能出现在首位).点以及下划线,其他字符不合 ...

  3. Activity的测量(Measure)、布局(Layout)和绘制(Draw)过程分析

    一个Android应用程序窗口里面包含了很多UI元素,这些UI元素是以树形结构来组织的,即它们存在着父子关系,其中,子UI元素位于父UI元素里面,因此,在绘制一个Android应用程序窗口的UI之前, ...

  4. Ubuntu 12.04如何从登录界面登录root

    root登录,可以使我们拥有管理系统最高的权限,但是随之带来的也是,系统的安全得不到足够的保障.Ubuntu官方资料说不推荐我们以root方式登录到系统中,但是如果我们真想这么做,也是可以的. 不同版 ...

  5. 1500: [NOI2005]维修数列

    Description Input 输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初始时数列中数的个数,M表示要进行的操作数目.第2行包含N个数字,描述初始时的数列.以下M行,每行一 ...

  6. 【python之路7】python基本数据类型(一)

    一.运算符 1.算数运算符 +.-.*./.%(求余数).//(取整数部分) python2.x中,如果计算浮点数其中一个数字必须是浮点数否则按整数计算: 如python2.7中:print 9/2 ...

  7. 提交App Store注意事项1

    1.未遵守苹果iOS APP数据储存指导方针. 如果你的App有离线数据下载功能,尤其需要关注这一点.因为离线数据一般占用存储空间比较大,可以被重新下载和重建,但是用户往往希望系统存储空间紧时也依然能 ...

  8. JavaScript的OOP编程1

    首先要说的是,javascript其实是可以进行OOP编程的,其次javascript的OOP编程实现方式有多种,我写的这一种只是我测试过,可行的一种 version1 // 父类 function ...

  9. shell脚本学习积累笔记(第一篇)

    (1)首先,今天在执行shell脚本./test.sh时抛出“/bin/sh^M: bad interpreter: No such file or directory”的异常,百度后,才知道这是由于 ...

  10. 织梦中limit的用法详解(调用指定id下的指定文章)

    limit的用法大致可以理解为:调用指定id下的指定文章. 下面为代码片段,需要的朋友自行拿去: {dede:arclist typeid='6' row='1' limit='0,1'} <l ...