day9 python学习 文件的操作 读 写 seek
文件的操作
1 文件的打开操作:
文件句柄
=
open
(
'文件路径'
,
'模式'
)
f=open('wangyakun','a+',encoding='utf-8') #文件名, 如果是绝对路径的话要写成 r'c:\user\administrator\'这种形式后边选择的编码方式要选择已保存的文件保存的编码方式,f.write('nihao a ') f.seek(2) seek 这里指的是字节位置如果出现中文就会一个字三个字节位, count=f.readlines() print(count) f.close() #操作系统级别的关闭,这里一定要操作完成后写 免得程序占用内存
2.常用的文件操作:
- r,只读模式(默认)。
- w,只写模式。【不可读;不存在则创建;存在则删除内容;】
- a,追加模式。【不可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
- r+,可读写文件。【可读;可写;可追加】、先读再写会在末尾加,先写在读会覆盖式的添加在前边
obj1 = open('filetest.txt', 'r+',encoding='utf-8') obj1.write('aaaaa \n') # 这样操作的话他会将原来文件的第一行覆盖,
- w+,先写再读。【这个方法打开文件会清空原本文件中的所有内容,将新的内容写进去,之后也可读取已经写入的内容】
- a+,追加模式,可读,不存在则创建,存在则只追加内容
- rb,wb,ab# "b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注) 这也是常用的读写方式 f=Open('ni hao','rb') #注意 它后边不用再写编码方式,因为他是byte型 就是编码方式为utf-8或gbk 所有不用再写
- #但是为什么其他的要写encoding="utf-8"或”gbk" 因为python3 默认编码方式是UTF-8
- python2是ascii
- 不能用于存储和传输 需要将他转换为其他的格式才(被打开文件的编码格式)可以
- #
seek:移动光标到指定位置 f.seek(0)将光标移动到最开头, f.seek(0,2)将光标移动到最后tell:告诉你当前光标的位置f=open('wangyakun','a+',encoding="utf-8") f.write('nihao') f.seek(0)#因为写完之后指针位置(光标位置,)会到达最后,此时打印会打不出来 #因为光标后边已经没有内容了,所以要将光标前移 print(f.read(),f.tell())#打印的结果,a+追加的意思,可读,这是结果 # 我nihao 8 tell()的意思是当前指针的位置一个汉字3个字节所以是8(字节位)#还有一点要注意,当有换行时,换行符其实是(\r\n )所以它占两个字符位置
f=open('wangyakun','r+',encoding='utf-8') for count in f:#用for循环读取文件中的内容if count.strip():#此用法是去除(不打印)没内容的行 他可以去掉空格换行符 制表符#因为没内容的行用strip的话就会是False条件不成立,走不下去。print(count.strip())
读的第三种方式 f.readline()
和 f.readlines()
按照行读,每次执行都会读取下一行内容
f=open('wangyakun','r+',encoding='utf-8')# 我们文件内的内容第一行是enen 得二行才是 nihao f.seek(0) f.readline() # 这是第一次的结果 它现在指的是nihao print(f.readline()) #打印结果是 nihao 但是打印出的结果直接是 nihao 因为程序是按行来执行的,#现在打印的是第二个数据,所以不能这样打印 直接在第一个f.readline() 那里print就行 f.readlines()
f=open('wangyakun','a+',encoding="utf-8")list=[]f.seek(0)count=f.readlines()print(count) #打印结果['你是谁\n', 'ni hao\n', '哈哈'] 可以看到他打印出来的是一个列表
f.read()的用法 #如果是f=open("歌曲","rb",encoding="utf-8")rb 这中形式的话就按照字节位来读取 其他的形式就是以字符来读他()括号里的数字就是它要读的字符位数,如果是6就读前6个字符f=open('wangyakun','r+',encoding='utf-8') count=f.read(1) #读取第一个字符 print(count)#打印结果是 网 这里我们可以看到read() 这个括号里的内容是一个一个按字符数据来打印的 读取列表的总内容:网友 enen oo haode jishi
4.判断文件
print(f.readable())# 判断文件是否可读
print(f.writable())# 判断文件是否可写
w+ 先写在读 虽然如此,可以读,但是读的时候刚,光标已经到了最后一位,所以直接读的话 重要 不能读出内容,所以样先将光标移动到f.seek(0)的位置上。 f=open('wangyakun','w+',encoding='utf-8') f.write('\nni hao\n') f.write('哈哈') f.seek(0) print(f.read())
print(f.read(),f.tell())#打印的结果,a+追加的意思,可读,这是结果我nihao 8 tell()的意思是当前指针的位置一个汉字3个字节所以是8(字节位) f=open('wangyakun','r+',encoding='utf-8') 重要 for count in f:#用for循环读取文件中的内容if count.strip():#此用法是去除去掉空格换行符,制表符,(不打印)没内容的行#因为没内容的行用strip的话就会是False条件不成立,走不下去。print(count.strip())
如何将文件中的数字替换
#1如果修改文件中的内容,打开旧文件,读出内容,修改内容,添加到新的文件中去,然后删除旧的,重命名新的。 f=open('文件',encoding='utf-8') f2=open('文件.bak','w',encoding='utf-8') 文件.bak 这个一般都是以此命名准备替换原来文件的 for line in f: # old_content=line.strip()if '原来'in line:new_conten=line.replace('原来','新')else: new_conten=linef2.write(new_conten) f.close() f2.close() import os os.remove('文件') os.rename('文件.bak','文件')
with的用法
2.With的用法:
文件的打开和关闭:
一般是
with open("文件1",encoding='utf-8') as f,open("文件.bak","w",encoding="utf-8")as f1:
这么用可以打开一个文件也可以打开两个文件,而且用with打开文件不用再在后边写 f.close()这样会免得忘记
文件可以用for循环去写
文件的写 可以在for循环中去写入内容,因为在文件中写入一行之后,光标就移动到下一行,再写就继续下移,总是停留在最后位置,所以可以循环写入f2=open('文件','w',encoding='utf-8') li=['123\n','dasdasd\n','ssssss\n','zzzz\n']#文件.bak 这个一般都是以此命名准备替换原来文件的 for line in li:f2.write(line)print(f2.tell()) f2.close()打印的结果如下:光标随着行行的写入依次往下移动 5 14 22 28
转载于:https://www.cnblogs.com/wangkun122/p/7756101.html
day9 python学习 文件的操作 读 写 seek相关推荐
- 【新星计划】 Python的txt文本操作-读、写
Python的txt文本操作-读.写 读取txt文本 python常用的读取文件函数有三种read().readline().readlines() 以读取上述txt为例,看一下三者的区别 read( ...
- python对文件的操作都有什么_python中文件操作的相关内容总结(附示例)
本篇文章给大家带来的内容是关于python中文件操作的相关内容总结(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1. 文件操作介绍 说到操作文件我们肯定会想到流,文件的操 ...
- python36_第36 p,就这几个方法,Python中文件的操作
大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第X篇文章,第二阶段的课程:Python基础知识:Python中文件的操作(下篇). 学习本课程,建议先看一遍:[计算机基础知识]课 ...
- Day6 python对文件的操作——百度飞桨领航团零基础Python入门
python文件操作 前言 一.JSON是什么? 二.python对文件的操作 1.写入文件内容 2.打开.读取.关闭文件 文件数据若有问题采用两种解决方式 file对象的函数列表 写入文件内容 对象 ...
- python学习--文件操作
计算机中的文件是以二进制保存在磁盘上的 文本文件和二进制文件 文本文件 可以使用 文本编辑软件 查看 本质上还是二进制文件 二进制文件 二进制文件是给机器阅读的 操作文件的基本函数 注意:如果忘记关闭 ...
- python中文件读写位置的作用-Python中文件的读写、写读和追加写读三种模式的特点...
本文主要讨论一下文件的三种可读可写模式的特点及互相之间的区别,以及能否实现修改文件的操作 由于前文已经讨论过编码的事情了,所以这里不再研究编码,所有打开操作默认都是utf-8编码(Linux系统下) ...
- python怎么读write_Python如何读写文件?python写入文件读写操作详解
Python文件的打开或创建可以使用函数open().该函数可以指定处理模式,设置打开的文件为只读.只写或可读写状态.open()的声明如下所示. open(file, mode='r', buffe ...
- python学习-文件的读写操作
文章目录 文件的写操作 文件的读操作 文件的写操作 open函数,原型: def open(file, mode='r', buffering=None, encoding=None, errors= ...
- Python中文件的读写、写读和追加写读三种模式的特点
本文主要讨论一下文件的三种可读可写模式的特点及互相之间的区别,以及能否实现修改文件的操作 由于前文已经讨论过编码的事情了,所以这里不再研究编码,所有打开操作默认都是utf-8编码(Linux系统下) ...
最新文章
- 这是马?小鹏发布可骑乘「智能马」,四不像长相太奇葩!
- SAP MM MD04中PR单据的显示
- 输入列号得到excel对应的字母列
- java软件测试方法有哪些方法有哪些_如何才算掌握Java
- ML之DR之PCA:利用PCA对手写数字图片识别数据集进行降维处理(理解PCA)
- Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页面
- 按钮右对齐_Python Tkinter Button按钮
- Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包
- Matlab常用图像操作
- HttpwebRequest - 带ViewState的网页POST请求
- 问题四十二:怎么用ray tracing画任意圆环片段
- 微信小程序中自定义模板
- SpringJDK动态代理实现
- 计算机组成与设计(硬件/软件接口)RISC-V版笔记
- vios映射_以最低要求映射VIOS LUN
- 刷程序对车危害_汽车刷程序对车有什么影响
- it行业se是_IT行业常见职位英文缩写
- matlab simulink的scope 示波器光标如何移动记录
- python学习之地址簿程序
- Realme GT 大师版 ROOT 解锁BL教程
热门文章
- mysql手机版编译器_带有版本配置的MySQL++的编译器警告
- 赛效:WPS文字(Word)如何合并多个文档
- 微信PC端数据库文件解密
- 性能分析工具和 Performance API
- 纯前端实现图片背景透明化
- 华为鸿蒙2.0什么时候上市,华为鸿蒙2.0版本什么时候发布_华为鸿蒙2.0版本发布时间_3DM手游...
- C语言扫雷函数成绩,扫雷(C语言)
- 不懂网络赚钱的我,只想说“去你的吧”
- AppStore上架审核注意事项
- window 安装并运行Nacos