python学习笔记(四)-文件操作
文件读写
"""
一、文件打开有3种方式
1、读 r #如果打开的文件的时候没有指定模式,那么默认是读
读写模式 r+,只要沾上r,文件不存在的时候,打开都会报错
2、写 w #w模式会清空原有文件内容
写读模式 w+
只要沾上w,他就会把文件内容清空
3、追加 a
追加读写
二、文件指针
f.seek(0)#seek移动指针的时候,只对读好使,对写不好使
当open时文件指针是在初始位置1,当读取4个字节内容是文件指针位置就在4,再write时,文件指针从4移到8,所以,只要控制了文件指针,就能重复的读取了!
操作文件指针可以通过seek方法:
seek(offset, whence):移动文件指针
offset:偏移量,可为负数
whence:偏移相对位置
偏移相对位置为os模块当中的SEEK_SET、SEEK_CUR、SEEK_END:
os.SEEK_SET:表示文件的相对起始位置
os.SEEK_CUR:表示文件的相对当前位置
os.SEEK_END:表示文件的相对结束位置
三、python2\3的区别
file() #python2里面打开文件还可以用file()
open() #python3
"""
f = open('ybq.txt','a+',encoding='utf-8')
f.seek(0)#seek移动指针的时候,只对读好使,对写不好使
print(f.tell())#查看当前文件指针的位置
f.truncate()#清空文件内容
print(f.read())#读取文件里面的全部内容
print(f.readline())#只读取一行的内容
print(f.readlines())#读取文件里面所有的内容,把文件里面每一行的内容放到一个list里面
f.write('mpp'+'\n') #写入字符串
print(f.read())
names = ['ybq','mpp','tlx','ply','yjy']
f.writelines(names)
st = 'ybq,mpp,tlx'
f.writelines(st)
f.write(st) #只可写入不可迭代的对象,如字符串
tu=('sdf','sdfs','sdfsd')
f.writelines(tu)
d={'name':'xx'}
f.writelines(d) #写的时候,传入一个可迭代的对象,如列表、元祖、字典
f.close()
#打开文件,通过循环向文件中写入数据
f = open('a.txt', 'w')
for i in range(3):
f.write('xx'+'\n')
f.close()
#高效处理文件的方法
fw = open('ybq.txt',encoding='utf-8')
count = 1
#直接循环文件对象的话,就是循环文件里面的每一行
for f in fw:
f = f.strip() #去掉空、换行符
stu_lst = f.split(',') #按‘,’分割成列表
print(stu_lst)
文件指针
实验文件data.txt如下:
This file is data.txt
hello world!
My name is mark.
文件指针初始化
f = open('data.txt','r+')
print f.tell() #
f.write('nice to meet you')
f.flush() #flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。
print f.tell()
print f.read()
f.close()
相应输出:
//print f.tell()
0
//print f.tell()
16
//print f.read()
a.txt
hello world!
My name is mark.
说明:以’r+‘模式打开文件,文件指针所指位置为0
f.write(‘nice to meet you’)会覆盖原文件内容,文件指针随着移动
print f.read()只会输出剩余内容
f = open(r'test2.txt','a+')
print f.tell()
f.write('nice to meet you')
f.flush()
print f.tell()
print f.read()
f.close()
相应输出:
//print f.tell()
52
//print f.tell()
68
//print f.read()
说明:以’a+’模式打开,文件指针所指位置为文件尾,此例为52
f.write(‘nice to meet you’)会在原文件内容尾添加,文件指针随着移动至68
因为随着write()函数,文件指针已经移到文件末尾,所以print f.read()没有输出
python学习笔记(四)-文件操作的更多相关文章
- python学习笔记:文件操作和集合
一.文件操作 文件读写步骤:有一个文件,打开文件,操作文件读写文件,关闭文件. python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例) 模式 可做操作 若文件不存在 是否覆盖 r ...
- python学习笔记之文件操作(三)
这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...
- python学习笔记4(文件操作)
文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”) 直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...
- python学习笔记三 文件操作(基础篇)
文件操作 打开文件 open(name[,mode[,buffering]]) open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉] w ...
- python学习笔记(三):文件操作和集合
对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...
- Python学习笔记 - day5 - 文件操作
Python文件操作 读写文件是最常见的IO操作,在磁盘上读写文件的功能都是由操作系统提供的,操作系统不允许普通的程序直接操作磁盘(大部分程序都需要间接的通过操作系统来完成对硬件的操作),所以,读写文 ...
- python学习笔记(六)---文件操作与异常处理机制
文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...
- 我的Python学习笔记之文件操作
一,Python的文件类型有两种 1.文本文件 2.二进制文件 文件的操作: 1.打开文件,获取文件的控制权 2.读写文件 3.关闭文件,释放文件的控制权,如果不释放控制权,那么其他程序就不能访问此文 ...
- python学习笔记(五)-文件操作2
一.文件修改 现有文件file.txt,内容如下:二十四节气歌春雨惊春清谷天,夏满芒夏暑相连.秋处露秋寒霜降,冬雪雪冬小大寒.上半年逢六廿一,下半年逢八廿三.每月两节日期定,最多相差一二天.要求:将文 ...
随机推荐
- STM32—ADC多通道采集电压
文章目录 ADC详解 程序说明 函数主体 引脚配置 ADC和DMA配置 主函数 ADC详解 前面的博客中详细介绍了STM32中ADC的相关信息,这篇博客是对ADC内容的一个总结提升,ADC的详细介绍: ...
- STM32—ADC详解
文章目录 一.ADC简介 二.ADC功能框图讲解 1.电压输入范围 2.输入通道 3.转换顺序 4.触发源 5.转换时间 6.数据寄存器 7.中断 8.电压转换 三.初始化结构体 四.单通道电压采集 ...
- 30 个极大提高开发效率超级实用的 VSCode 插件
Visual Studio Code 的插件对于在提升编程效率和加快工作速度非常重要.这里有 30 个最受欢迎的 VSCode 插件,它们将使你成为更高效的搬砖摸鱼大师.这些插件主要适用于前端开发人员 ...
- springCloud-Hystrix服务监控Dashboard
1.Hystrix服务监控Dashboard 介绍 Hystrix服务监控Dashboard仪表盘 在实际生产中,成千上万的服务,我们怎么知道提供服务的高可用情况,即服务的成功失败超时等相关情况; H ...
- 异步编程之EAP
一.概述 前面我们了解到了APM编程模式,但APM不支持对异步操作的取消和没有提供对进度报告的功能. 对于界面程序来说,进度报告和取消操作的支持也是必不可少的,为了支持这些功能,微软在.NET 2.0 ...
- uwp 的个人名片
xml code ---------------------------------------------------------------------- <Page x:Class=&qu ...
- redis知识点及常见面试题
redis知识点及常见面试题 参考: https://zm8.sm-tc.cn/?src=l4uLj4zF0NCIiIjRnJGdk5CYjNGckJLQrIqNiZaJnpOWjIvQno2Llpy ...
- Navicat查询出的数据有时候不能更改?
Navicate查出数据只读,一种情况是查询没带出主键(唯一索引),无法更新数据
- Linux命令全训练
一.实验目的 为后续上机实验做准备,熟悉常用的Linux操作. 二.实验平台 操作系统:Ubuntu14.04 三.实验内容和要求 1.Linux系统中的常用快捷键 Tab 自动补全 上下箭头 显示历 ...
- shiro登录源码
//1.获取SecurityManager工厂,此处使用Ini配置文件初始化SecurityManager Factory<org.apache.shiro.mgt.SecurityManage ...