python文件调用方法
文件输入输出
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文件调用方法的更多相关文章
- Python 文件 close() 方法
描述 Python 文件 close() 方法用于关闭一个已打开的文件.关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误. close() 方法允许调用多次. 当 file 对 ...
- Python 文件 writelines() 方法
概述 Python 文件 writelines() 方法用于向文件中写入一序列的字符串. 这一序列字符串可以是由迭代对象产生的,如一个字符串列表. 换行需要制定换行符 \n. 语法 writeline ...
- Python 文件 write() 方法
概述 Python 文件 write() 方法用于向文件中写入指定字符串. 在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的. 语法 write() 方法语法如 ...
- Python 文件 truncate() 方法
概述 Python 文件 truncate() 方法用于截断文件并返回截断的字节长度. 指定长度的话,就从文件的开头开始截断指定长度,其余内容删除:不指定长度的话,就从文件开头开始截断到当前位置,其余 ...
- Python 文件 tell() 方法
描述 Python 文件 tell() 方法返回文件的当前位置,即文件指针当前位置. 语法 tell() 方法语法如下: fileObject.tell() 参数 无 返回值 返回文件的当前位置. 实 ...
- Python 文件 seek() 方法
概述 Python 文件 seek() 方法用于移动文件读取指针到指定位置. 语法 seek() 方法语法如下: fileObject.seek(offset[,whence]) 参数 offset ...
- Python 文件 readlines() 方法
概述 Python 文件 readlines() 方法用于读取整个文件(所有行)到一个列表,可以由for... in ... 结构进行遍历.列表的每一行变成列表的每一个元素. 语法 readlines ...
- Python 文件 readline() 方法
描述 Python 文件 readline() 方法用于从文件读取整行,包括 "\n" 字符.如果指定了一个非负数的参数,则返回指定大小的字符数,包括 "\n" ...
- Python 文件 read() 方法
概述 Python 文件 read() 方法用于从文件中读取指定的字符数,如果未给定或为负则读取所有. 语法 read() 方法语法如下: fileObject.read([size]) 参数 siz ...
随机推荐
- 读书笔记-《Mysql技术内幕》
MYSQL 技术内幕 Mysql体系 连接池组件 管理服务和工具 SQL接口 查询分析器 优化器 缓冲 插件式存储引擎 物理文件 存储引擎 InnoDB(默认引擎) 支持事务 行锁设计 多版本并发控制 ...
- 趣谈编程史第3期-大器晚成的新晋流量Python发展史
写在前面 这篇博文主要介绍javaScript的发展史,根据作者在B站发布的同名视频的文案整理修改而成,对视频感兴趣的博友可访问https://www.bilibili.com/video/av860 ...
- RedisTemplate:我不背锅,是你用错了
今天分享一个RedisTemplate的问题,感兴趣的可以继续看下去了,不感兴趣的继续撩妹去吧! 如下图:一位朋友给了我一个报错的图片,为啥为啥取不到值? 我也有点懵,第一反应就是RedisTempl ...
- iview中select搜索
https://www.jianshu.com/p/1c40d7cc440e https://www.cnblogs.com/yun1108/p/10967735.html https://blog. ...
- django数据库分库migrate
最近在研究微服务和分布式,设计到了数据库分库,记录一下 首先,创建多个数据库,如果是已经生成的数据库,可以分库,这里我是新创建的项目,刚好可以用来尝试 我是用docker创建的mysql数据库容器 拉 ...
- 【04】openlayers 地图弹框
效果: 创建地图: //创建地图 var map = new ol.Map({ //设置显示地图的视图 view: new ol.View({ projection: 'EPSG:4326', //投 ...
- 单元测试 - Tests和UITests (一) 业务测试
单元测试 假如我们今天去面试了,面试官问了一句“什么是单元测试?有没有使用?大概是针对那些情况进行单测的?单测意义从你实际使用中总结一下.” 这要在我没进行现在的单测之前这个问题我回答的可能就是“不好 ...
- 建议8:恰当选用if和switch
相对来说下面几种情况更适合switch结构 枚举表达式的值.这种枚举是可以期望的,平行逻辑关系的 表达式的值具有离散性,不具有线性的非连续的区间值 表达式的值是固定的,不是动态变化的 表达式的值是有限 ...
- 基于 HTML5 WebGL 与 GIS 的智慧机场大数据可视化分析
前言:大数据,人工智能,工业物联网,5G 已经或者正在潜移默化地改变着我们的生活.在信息技术快速发展的时代,谁能抓住数据的核心,利用有效的方法对数据做数据挖掘和数据分析,从数据中发现趋势,谁就能做到精 ...
- .NET 5 Preview 1的深度解读和跟进
这几天微软.NET 团队发布了.NET 5 Preview-1, 如约而至.很兴奋,因为.NET Core和.NET Framework终于实现了大一统,同时也很期待,期待.NET 5能给我们带来哪些 ...