6.2Python文件的操作(二)
目录
前言
该篇是相继上一篇6.1Python文件操作(一)之后的进阶文章。
(一)文件的定位
(1)说明
f.tell() 返回当前文件指针所在的位置。
f.seek(偏移量, 参考点) 根据参考点来偏移 偏移量个单位。
参考的:可以是0, 1, 2
0: 开头处, 参考点是正的
1:中间位置,参考点可正可负
2:结尾处:参考点是负的
注:文本文件的参考点只能是0,二进制文件三者皆可。
(2)源代码
# 打开
f = open("a.txt", "rb")
# 指针的位置
r1 = f.tell()
print("前指针的位置:", r1)
# 偏移指针,参考点: 文本文件只能是0,二进制文件可以是:1, 2
f.seek(-2, 2)
r1 = f.tell()
print("后指针的位置:", r1)
# 读
content = f.read()
print("内容是:", content)
r1 = f.tell()
print("读完指针的位置:", r1)
# 关闭
f.close()
(3)输出效果
a.txt的内容是:12345678

(二)文件的读操作
1.read()方法
(1)说明
f.readable()用于判断该文件是否可读
f.read(字节数) ,默认情况下字节 数是文件的长度。
(2)源代码
# 打开文件
f = open("b.txt", "r")
# 判断是否可读
print(f.readable())
if f.readable():
# 操作, n 要读的文件长度
content = f.read(5)
print(content)
# 关闭文件
f.close()
(3)输出效果
b.txt 的内容是:123456789

2.readline()方法
(1)说明
readline()方法是逐行的读写,每一次只读一行。
(2)源代码
# 打开文件
f = open("c.txt", "r")
# 操作, n 要读的文件长度
content = f.readline()
print(content, end='')
content = f.readline()
print(content, end='')
content = f.readline()
print(content, end='')
# 关闭文件
f.close()
(3)输出效果
c.txt的内容是:
12
34abcdefgh
56
78

3.readlines()方法
(1)说明
readlines()方法是以行为单位来读,返回每一行为一个元素的列表 。
(2)源代码
# 打开文件
f = open("c.txt", "r")
# 操作, n 要读的文件长度
content = f.readlines()
print(content)
# 关闭文件
f.close()
(3)输出效果
c.txt的内容是:
12
34abcdefgh
56
78

4.文件的遍历读法
(1)说明
打开的文件 f 本身就是一个迭代器,可以用for循环来遍历输出。与resdlines()类似,用行为单位来处理。
(2)源代码
# 打开文件
f = open("c.txt", "r")
# f是一个迭代器与readlines()效果一样
for i in f:
print(i, end='')
# 关闭文件
f.close()
(3)输出效果
c.txt的内容是:
12
34abcdefgh
56
78

(三)文件的写操作
1.write()方法
(1)说明
f.writable()用于判断该文件是否可选。
f.write()方法返回的是本次写入的字节数。
encoding="utf-8" 参数是指明写入的编码格式。
(2)源代码
# 打开文件
f = open("d.txt", "a", encoding="utf-8")
# 判断是否可写
if f.writable():
# 写入文件
result = f.write("123456")
print("写入的字节数是:", result)
# 关闭文件
f.close()
(3)输出效果

2.writelines()方法
(1)说明
f. writelines()方法是以列表的每一个元素,写入到文件的每一行,列表的元素必须是字符串类型。
注:每一个列表的元素后面需要添加 "\n" 才换行,默认是不换行。
(2)源代码
# 打开文件
f = open("e.txt", "w", encoding="utf-8")
# 写入文件
f_list = ["14\n", "28\n", "abc\n", "哈哈"]
f.writelines(f_list)
# 关闭文件
f.close()
(3)输出效果

(四)文件的关闭
(1)说明
f.close()是关闭文件,内部是把缓存区的数据,写到内存,才实现真正的保存操作。
同时也释放系统资源。
f.flush() 是立即把缓存区的数据写入到内存里区,实现及时的保存。
(2)源代码
# 打开文件
f = open("f.txt", "w")
# 操作文件
f.write("123456")
# 及时保存数据
f.flush()
# 关闭文件
f.close()
(3)输出效果

作者:Mark
日期:2019/02/08 周五
6.2Python文件的操作(二)的更多相关文章
- 6.3Pytyhon文件的操作(三)
目录 目录 前言 (一)文件的创建 (二)文件的删除 (三)文件的重命名 (四)文件的查看 (五)文件的复制 ==1.小文件的复制== ==2.大文件的复制== (六)文件的实战案例 ==1.文件的分 ...
- iOS 关于文件的操作
最近做东西,遇到了使用文件方面的问题,花了点时间把文件研究了一下! 一 关于文件路径的生成 我用的方法是: -(NSString*)dataFilePath { NSArray * paths = ...
- 《转》Python学习(15)-对文件的操作(二)
转自 http://www.cnblogs.com/BeginMan/p/3169020.html 一.文件系统 从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件存储并对存入的文件进 ...
- 【Python全栈笔记】05 [模块二] 19 Oct 文件的操作
文件操作 一般步骤1. 文件打开 2. 文件操作 3. 文件关闭 1. 打开文件 使用open(文件名(绝对路径), 打开模式, 编码) 文件打开的模式有: r: 只读模式(默认) w: 只写模式 ...
- python中常用的文件和目录操作(二)
一. os模块概述 python os模块提供了非常丰富的方法用来处理文件和目录 二. 导入os模块: import os 三. 常用方法 1. os.name 输出字符串表示正在使用的平台,如果是w ...
- Gradle系列之二 Groovy对文件的操作
Groovy对文件的操作 对文件的遍历 假设文件的原始内容为: hello,world 这里是北京 andorid and ios are good system 第一种方法:使用 eachLine( ...
- find命令进阶(二):对找到的文件执行操作exec
以下面的命令为例: find ~ -type f -name 'foo*' -exec ls -l '{}' ';' 分面两部分,第一部分: find ~ -type f -name 'foo*' 即 ...
- c语言文件读写操作总结
C语言文件读写操作总结 C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程 ...
- python对文件的操作
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...
随机推荐
- vue axios封装以及API统一管理
在vue项目中,每次和后台交互的时候,经常用到的就是axios请求数据,它是基于promise的http库,可运行在浏览器端和node.js中.当项目越来越大的时候,接口的请求也会越来越多,怎么去管理 ...
- leetCode(寻找峰值)-二分查找
题目: 峰值元素是指其值大于左右相邻值的元素. 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引. 数组可能包含多个峰值,在这种情况下,返回任何一个峰 ...
- 【Flask-RESTPlus系列】Flask-RESTPlus系列译文开篇
0x00 背景介绍 因为工作上的需要,最近开始研究Python中实现Restful API的框架和工具包.之前粗略学习过Flask,由于它比较轻量级,感觉用它来实现Restful API再适合不过了. ...
- 【jQuery源码】整体架构
jQuery源码可以精简为以下内容: 方框上面的代码根据Jq注释我们可以知道是对AMD规范的支持. jQuery整体上被包裹在一个匿名函数中,这个匿名函数再作为另一个匿名函数的参数被传入,形参fact ...
- 使用flexible适配移动端h5页面
flexible是淘宝提供的一套REM手机适配的库,用法也非常简单 首先,在页面中引入相关资源 包括flexible.js和flexible_css.js(用于清除默认样式),或者通过cdn方式引入 ...
- [AHOI2005] 航线规划
Description 对Samuel星球的探险已经取得了非常巨大的成就,于是科学家们将目光投向了Samuel星球所在的星系--一个巨大的由千百万星球构成的Samuel星系. 星际空间站的Samuel ...
- 一段有意思的fork()程序
献上代码,不成敬意: #include <unistd.h> #include <stdio.h> int main() { int i = 0; if(fork()) i++ ...
- MVC 【Razor 视图引擎】基础操作 --页面跳转,传值,表单提交
ASPX 与 Razor 仅仅是视图不一样. 新建项目----ASP.NET MVC 4 Web 应用程序------选择模板(空).视图引擎(Razor ) 1.视图中 c# 代码 与 HT ...
- 【Java基础】14、位运算之——按位与(&)操作——(快速取模算法)
学习redis 字典结构,hash找槽位 求槽位的索引值时,用到了 hash值 & sizemask操作, 其后的scan操作涉及扫描顺序逻辑,对同模的槽位 按一定规则扫描! 其中涉及位运算 ...
- 【Tomcat】性能优化
一.JVM优化 1.内存优化. 2.垃圾回收策略优化. 二.server.xml的connector优化(connector是与HTTP请求处理相关的容器,三个容器的初始化顺序为:Server-> ...