文件输入输出

open函数可以对文本文件进行读写的操作
基本形式:
open(filename,mode)
filename是文件名,可以写为绝对路径也可以是相对路径
mode是打开模式。
open函数里面有个enconding参数,
如果打开的文件编码不是gbk,可以通过这个参数来设置编码。

文件的打开模式:

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

文件对象方法

读取文件内容:read(),readline(),readlines():

f.read(size) 读取文件的内容,将文件的内容以字符串形式返回。
size是可选的数值,指定字符串长度,如果没有指定size或者指定为负数,
就会读取并返回整个文件。当文件大小为当前机器内存两倍时就会产生问题,
反之就尽可能大的size读取和返回数据,如果到了文件末尾,会返回空字符串。 f.readline() 从文件中读取单独一行,字符串结尾会自动加上一个换行符\n,
只有当文件最后遗憾没有以换行符结尾时,这一操作才会被忽略,
这样返回值就不会有混淆。如果返回空字符串,表示到达率文件末尾,
如果是空行,就会描述为\n,一个只有换行符的字符串。 f.readlines() 返回一个列表,列表的元素为文件行的内容。
可以通过列表索引的方式将文件的每一行的内容输出。
可以通过for循环迭代输出每一行的信息。

文件的写入:write() , writelines():

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

内容的保存和关闭:flush() , close():

f.flush()在读写模式下,当写完的数据想要读取出来时,
要先缓存区的内容保存到文件当中。
f.close() 关闭文件。对一个已经关闭的文件进行操作会报错。

光标位置:tell() , seek():

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

查看文件信息:closed , mode , name :

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

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

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

异常

异常处理程序常规语法

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就没有意义了,根据实际中的需求来选择。

try:
print(1111)
a = 'python'
ff = open('xxx.py')
print(x)
print(a[10])
except (IndexError,NameError) as reason:
print(reason)
else:
print('没发生异常')
finally:
print('都执行') print(222)

注:

raise 触发异常:使用raise语句自己触发异常

ssert 断言:用来声明某个条件是真的

如果条件是假的则会抛出AssertionError异常

python文件调用方法的更多相关文章

  1. Python 文件 close() 方法

    描述 Python 文件 close() 方法用于关闭一个已打开的文件.关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误. close() 方法允许调用多次. 当 file 对 ...

  2. Python 文件 writelines() 方法

    概述 Python 文件 writelines() 方法用于向文件中写入一序列的字符串. 这一序列字符串可以是由迭代对象产生的,如一个字符串列表. 换行需要制定换行符 \n. 语法 writeline ...

  3. Python 文件 write() 方法

    概述 Python 文件 write() 方法用于向文件中写入指定字符串. 在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的. 语法 write() 方法语法如 ...

  4. Python 文件 truncate() 方法

    概述 Python 文件 truncate() 方法用于截断文件并返回截断的字节长度. 指定长度的话,就从文件的开头开始截断指定长度,其余内容删除:不指定长度的话,就从文件开头开始截断到当前位置,其余 ...

  5. Python 文件 tell() 方法

    描述 Python 文件 tell() 方法返回文件的当前位置,即文件指针当前位置. 语法 tell() 方法语法如下: fileObject.tell() 参数 无 返回值 返回文件的当前位置. 实 ...

  6. Python 文件 seek() 方法

    概述 Python 文件 seek() 方法用于移动文件读取指针到指定位置. 语法 seek() 方法语法如下: fileObject.seek(offset[,whence]) 参数 offset  ...

  7. Python 文件 readlines() 方法

    概述 Python 文件 readlines() 方法用于读取整个文件(所有行)到一个列表,可以由for... in ... 结构进行遍历.列表的每一行变成列表的每一个元素. 语法 readlines ...

  8. Python 文件 readline() 方法

    描述 Python 文件 readline() 方法用于从文件读取整行,包括 "\n" 字符.如果指定了一个非负数的参数,则返回指定大小的字符数,包括 "\n" ...

  9. Python 文件 read() 方法

    概述 Python 文件 read() 方法用于从文件中读取指定的字符数,如果未给定或为负则读取所有. 语法 read() 方法语法如下: fileObject.read([size]) 参数 siz ...

随机推荐

  1. 8421BCD转余3码Verilog HDL的设计(1)

    近期阅读Verilog HDL高级数字设计(第二版)中,遇到了串行比特流BCD码转余3码转换器的设计,比较独特的是: (1)该转换器的输入为1位串行比特流,输出也为1位串行比特流. BCD码与余三码的 ...

  2. 前端每日实战:85# 视频演示如何用纯 CSS 创作一个小球反弹的动画

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/OwWROO 可交互视频 此视频是可 ...

  3. FCC 成都社区·前端周刊 第 7 期

    01. ES2016, 2017, 2018 中的新特性 文章介绍了 18 个 ECMAScript 2016,2017 和 2018 中新增加的特性,这些特性已被加入到 TC39 提案中.包括Arr ...

  4. JZOJ 1775. 合并果子2 (Standard IO)

    1775. 合并果子2 (Standard IO) Time Limits: 1000 ms Memory Limits: 65536 KB Description 在一个果园里,多多已经将所有的果子 ...

  5. JDK8内存模型—消失的PermGen

    一.JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分. 1.虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建.栈里面存着的是一种叫“栈 ...

  6. String常见的方法有哪些?

    length();//计算字符串的长度 charAt();//截取一个字符 getChars();//截取多个字符 equals();//比较两个字符串 equalsIgnoreCase();//比较 ...

  7. hadoop HDFS完全分布式搭建

    1.准备阶段 准备好两台虚拟机(安装好hadoop,见:https://www.cnblogs.com/cjq10029/p/12336446.html),计划: IP 主机名 192.168.3.7 ...

  8. Fortify Audit Workbench 笔记 Cross-Site Scripting-Persistent

    Cross-Site Scripting: Persistent Abstract 向 Web 浏览器发送非法数据会导致浏览器执行恶意代码. Explanation Cross-Site Script ...

  9. 阿里AI芯片:12nm工艺、709平方毫米大核心

    含光出自<列子·汤问>篇有“上古三剑”一章,寓意含而不露,光而不耀,象征含光 800 无形却强劲的算力. 含光 800 是一款 AI 芯片,偏重推理.据介绍,1 颗含光 800 的算力相当 ...

  10. 深度学习与人类语言处理-语音识别(part2)

    上节回顾深度学习与人类语言处理-语音识别(part1),这节课我们将学习如何将seq2seq模型用在语音识别 LAS 那我们来看看LAS的Encoder,Attend,Decoder分别是什么 Lis ...