今天主要讲讲文件读写及异常处理。

一.文件操作

1.1 文件的创建及读

  打开文件 open 函数  open(file,[option])

  file 是要打开的文件  option是可选择的参数文件的打开模式,常见有 mode 等

  文件的打开模式

    r 只读模式,文件不存在时会报错。
    w 写入模式,文件存在会清空之前的内容,文件不存在则会新建文件。
    x 写入模式,文件存在会报错,文件不存在则会新建文件。
    a 追加写入模式,不清空之前的文件,直接将写入的内容添加到后面。
    b 以二进制模式读写文件,wb,rb,ab。
    + 可读写模式,r+,w+,x+,a+,这几种模式还遵循了r,w,x,a的基本原则。

    例如:

 f=open('fangfang.txt','r')
f=open('fangfang.txt','x')
f=open('fangfang.txt','r+') #读取文件的相对路径,即当前文件同一级别的文件
f=open(r'F:\潭州教育python\学习笔记\笔记\Python基础\fangfanf1.txt','w') #读取文件的绝对路径,这里要注意去掉转义字符 r''

1.2 文件的读取

  f.read(size)  读取文件的内容,将文件的内容以字符串形式返回。
    size是可选的数值,指定字符串长度,如果没有指定size或者指定为负数,就会读取并返回整个文件。当文件大小为当前机器内存两倍时就会产生问题,反之

    就尽可能大的size读取和返回数据,如果到了文件末尾,会返回空字符串。
  

  f.readline() #从文件中读取单独一行。
    字符串结尾会自动加上一个换行符\n,只有当文件最后没有以换行符结尾时,这一操作才会被忽略,这样返回值就不会有混淆。如果返回空字符串,表示到

    达率文件末尾,如果是空行,就会描述为\n,一个只有换行符的字符串。

  f.readlines() #一次读取所有,返回一个列表,列表的元素为文件行的内容。

    可以通过列表索引的方式将文件的每一行的内容输出。
    可以通过for循环迭代输出每一行的信息。

1.3.文件的写入

  f.write() #将要写入的内容以字符串的形式通过write方法写入文件中。
  f.writelines() #括号里必须是由字符串元素组成的序列。

1.4.保存和关闭

  f.flush()在读写模式下,当写完的数据想要读取出来时,要先缓存区的内容保存到文件当中。

  f.close() 关闭文件。对一个已经关闭的文件进行操作会报错。

1.5光标位置

  f.tell() 返回光标在文件中的位置。
  f.seek(offset,from) #常用 f.seek(0) 返回起始位置
  在文件中移动文件指针,从from(0代表起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节。
  常用 f.seek(0,0) 返回起始位置。 其他了解一下

1.6查看文件信息
  closed 查看文件是否已经关闭,返回布尔值。
       mode 返回文件打开模式。
       name 返回文件名。

1.7.with 形式打开文件,里面的语句执行完后会自动关闭文件

  with open('文件名') as f:

    f.read()
二.异常语法

 try:
a=1
except NameError:
print('我有错')
except TypeError:
print('其实我错了')
except Exception:
print('你们都没错,我错了')
else:
print('啊,代码正确呀')
finally:
print('不管了,我要执行')
 try:
suite1 #测试语句块
except exception1:
suite2 #如果测试语句suite1中发生exception1异常时执行
except (exception2,exception3):
suite3 #如果测试语句suite1中发生元组中任意异常时执行
except exception4 as reason: #as把异常的原因赋值给reason
suite4 #如果测试语句suite1发生exception4的异常时执行
except:
suite5 #如果测试语句suite1发生异常在所列出的异常之外时执行
else:
suite5 #如果测试语句块suite1中没有发生异常时执行
finally:
suit6 #不管测试语句suite1中又没有发生异常都会执行

  注意:中间的except,else,finally都是可选的,但至少有一个,不然try就没有意义了,根据实际中的需求来选择。

  所有错误类型都继承自BaseException
  https://docs.python.org/3/library/exceptions.html#exception-hierarchy

  注意:如果抛出父类异常,在子类不会再获取,如下:

 try:
fun()
except Exception as e:
raise Exception
except ImportError as e:
raise ImportError
finally:
pass

  在上面的例子中,下面的ImportError就不会被抛出,因为ImportError继承Exception,但是可以把Exception放在后面是可以的

  e可以得到系统给出的报错信息
'

assert #断言
  测表示式,其返回值为假,就会触发异常
  assert 1==1 #没有返回值

  assert 1==2 #返回AssertionError

 

 

 

Python基础_文件的的处理及异常处理的更多相关文章

  1. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

  2. 第二篇:python基础之文件读写

    python基础之文件读写   python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使 ...

  3. 七. Python基础(7)--文件的读写

    七. Python基础(7)--文件的读写 1 ● 文件读取的知识补充 f = open('file', encoding = 'utf-8') content1 = f.read() content ...

  4. python基础_格式化输出(%用法和format用法)(转载)

    python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制%d -- dec 十进制%x -- hex 十六进制 &g ...

  5. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  6. 【穿插】Python基础之文件、文件夹的创建,对上一期代码进行优化

    在上一期妹子图的爬虫教程中,我们将图片都保存在了代码当前目录下,这样并不便于浏览,我们应该将同一个模特的图片都放在一个文件夹中. 今天我们就简单讲一下Python下如何创建文件.文件夹,今后就可以用上 ...

  7. python基础之文件处理

    读和写文件 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直 ...

  8. Python基础、文件处理

    一.概述 Python中操作文件是通过file对象来处理的,步骤: 指定文件的路径.操作的模式 对文件进行操作,读或写操作 关闭文件对象 f = open( '文件路径','访问模式') # 打开文件 ...

  9. python基础4文件操作

    在磁盘上读取文件的 功能都是由操作系统来实现的,不允许普通的程序直接操作磁盘,所以读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据( ...

随机推荐

  1. CSS3动画中的animation-timing-function效果演示

    CSS3动画(animation)属性有如下几个: 属性 值 说明 animation-name name 指定元素要使用的keyframes名称 animation-duration time(ms ...

  2. spring boot学习资源

    http://blog.csdn.net/u014695188/article/details/52226134 http://www.jianshu.com/p/887c22723e43 Sprin ...

  3. 洛谷P2756飞行员配对方案问题 P2055假期的宿舍【二分图匹配】题解+代码

    洛谷 P2756飞行员配对方案问题 P2055假期的宿舍[二分图匹配] 飞行员配对方案问题 题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架 ...

  4. angular-file-upload封装为指令+图片尺寸限制

    不了解angular-file-upload基础使用 请先参考http://blog.csdn.net/lai_xu/article/details/49535847 博客地址 下文如果有更好的建议请 ...

  5. 阿里巴巴Java开发规约插件地址

    Git地址: https://github.com/alibaba/p3c eclipse 安装地址: https://p3c.alibaba.com/plugin/eclipse/update

  6. Android查缺补漏(IPC篇)-- 款进程通讯之AIDL详解

    本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8436529.html 进程间通讯篇系列文章目录: Android查缺补漏(IP ...

  7. 使用SpringSecurity保护你的Eureka.

    因为注册中心基本上都是自己的应用在使用,应用不是特别多,可以写死,如果应用很多,那么就写入数据库把 pom <dependency> <groupId>org.springfr ...

  8. 开发工具类API调用的代码示例合集:六位图片验证码生成、四位图片验证码生成、简单验证码识别等

    以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 六位图片验证码生成:包括纯数字.小写字母.大写字母.大小写混合.数 ...

  9. 一个逼格很低的appium自动化测试框架

    Github地址: https://github.com/wuranxu 使用说明 1. 安装配置Mongo数据库 下载地址 mongo是用来存放元素定位的,截图如下: 通过case_id区分每个ca ...

  10. 检验金额合法性, 只能是正数 或小数(常用js总结)

    //检验金额合法性 只能是正数 或小数 function checkMoney(fileds){ $(fileds).keyup(function () { ,}/); var txt = ''; i ...