异常:

  
  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"

=============================
文件:
  打开文件,读取文件内容: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

  写入文件:追加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("./*")

转载于:https://www.cnblogs.com/lipijin/p/3171633.html

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

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

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

  2. 简明 Python 教程学习笔记_7_文件操作(os、shutil、pathlib )

    参考 :http://www.cnblogs.com/nulige/archive/2016/12/06/6037752.html 在很多时候,你会想要让你的程序与用户(可能是你自己)交互.你会从用户 ...

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

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

  4. 二级VB培训笔记05:文件操作

    二级VB培训笔记05:文件操作 一.文件概述 二.顺序文件 三.顺序文件操作演示 1.创建VB工程[顺序文件操作] 添加一个文本框和两个按钮,设置对象属性,如下图所示:

  5. 自学Python第九天- 模块、包、编码、文件操作、OS 模块、打包

    自学Python第九天- 模块.包.编码.文件操作.OS 模块.打包 模块 导入模块 程序入口 包 编码 文件操作 打开或创建文件 常用的文件打开模式 边读边写 文件对象的常用方法 读写 CSV Ex ...

  6. Python中的File(文件)操作

    Python中的File(文件)操作 针对磁盘中的文件的读写.文件I/O I 输入(input) O输出(Output) 文件操作步骤:1.打开文件 2.读写文件 3.关闭文件 写入文件的操作:(把大 ...

  7. 详解Python中的File(文件)操作

    目录 Python中的File(文件)操作 写入文件的操作: 读取文件的操作: 一.文件操作相关函数 1. open() 打开文件 2. seek() 设置文件指针的位置 3. write() 写入内 ...

  8. Linux_红帽8学习笔记分享_3(文件操作管理)

    Linux_红帽8学习笔记分享_3(文件操作管理) 文章目录 Linux_红帽8学习笔记分享_3(文件操作管理) 1.Vi编辑器 1.1两种模式 1.2十种技巧 2.用户的家目录 2.1 su命令的使 ...

  9. 我的python学习(五)文件操作、异常捕获

    读写.创建文件 文件的分类: 文本文件:基于字符编码,存储的是普通字符串,不包括字体.字号.样式.颜色等信息,可通过文本编辑器显示和编辑,例如txt文件: 二进制文件:基于值编码的,以字节形式存储,其 ...

最新文章

  1. CVPR 2021 Oral|只用静态图像,就能实时渲染出丝滑3D效果
  2. java窗口怎么实现修改密码_【求助】Java中如何实现更改windows密码
  3. 空之轨迹sc存档_《空之轨迹》:一部优秀到让续作也无法超越的经典单机游戏!...
  4. hdu5489(2015合肥网络赛F题)
  5. 快慢指针____函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移
  6. 【转】strcpy溢出的攻击示例
  7. python self理解_Python面向对象总结,让你快速掌握面向对象常用的用法
  8. 【学习笔记】平等博弈及常见的公平博弈类型
  9. 正则表达式符号特殊详解_常用正则表达式_Java中正则表达式的使用
  10. 特征计算 - Jaccard 相似系数与 Python 代码实现
  11. java 连接kafka之坑Connection to node 0 could not be established. Broker may not be available
  12. django,项目,app,静态文件02,数据库
  13. 学习第六天@Linq操作
  14. Android context.getSystemService的简单说明
  15. stm32双串口通信_一文读懂,基于 STM32 和 CAN 总线的温度监控系统的设计方法
  16. 大型企业能源管理系统的设计与应用
  17. jszip 解压压缩包_Node.js使用jszip实现打包zip压缩包
  18. python怎么读取dat文件_小白也能学会系列:用python文件读写代码实例!(简单案例)...
  19. java计算机毕业设计济南旅游网站源码+mysql数据库+系统+lw文档+部署
  20. 《惢客创业日记》2021.01.22(周五)英雄心,狗熊命?

热门文章

  1. Flutter 底部弹框 showModalBottomSheet 使用Demo
  2. Android_自定义水波纹菜单弹出效果
  3. (三)、dubbo环境的搭建
  4. java学习_5_23
  5. kindeditor 4 指定生成文件的时间日期/动态获取My97的时间
  6. ActiveMQ objecmessage 无法调用问题。
  7. oracle biee 11g客户端连接OCI 10g/11g数据源时报错
  8. 使元素水平垂直居中的实现方法
  9. hibernate中的一对多和多对多的映射关系
  10. PLSQL存储过程中的内部存储过程