python之路_文件操作解析
文件操作
一、操作文件三要素
1. 路径 #文件存放的具体位置的路径
2. 编码 #文件打开的的编码格式:utf-8
3. 模式
- rb:以字节的方式只读
obj = open('D:\美女模特空姐护士联系方式.txt',mode='rb') content = obj.read() obj.close() print(content,type(content)) #字节类型
- r: 读取utf-8编码数据,【转换】成unicode(str)编码的数据
#实例: obj=open('D:\美女模特空姐联系式.txt',encoding='utf-8',mode='r') content=obj.read() obj.close() print(content) #字符串格式
- r+:先读后写
# 情况一: obj = open('D:\美女模特空姐护士联系式.txt',mode='r+',encoding='utf-8') data = obj.read() # obj.write('6') # 在最后继续写 obj.close() print(data)
# 情况二: obj = open('D:\美女模特空姐护士联系式.txt',mode='r+',encoding='utf-8') data = obj.read() obj.seek(3) obj.write('6') # 定位到指定位置写 obj.close() print(data)
说明: data = obj.read() # 读取所有文件内容 data = obj.read(2) # r模式:字符;rb模式:字节 obj.seek(2) # 永远是字节,指定指针位置 obj.tell() # 读取当前指针的位置
- r+b
- wb
实例: obj = open('美女.txt',mode='wb') obj.write("海角-贾敏22222".encode('utf-8')) obj.close()
- w:只读
实例: obj = open('美女.txt',mode='w',encoding='utf-8') obj.write("海角-贾敏") obj.close()
- w+:先读后写
- w+b
- ab:只追加
#实例: obj = open('美女.txt',mode='ab') obj.write("龙哥".encode('utf-8')) obj.close()
- a:只追加
#实例: obj = open('美女.txt',mode='a',encoding='utf-8') obj.write("小红") obj.close()
- a+
- a+b
功能:
obj = open(文件路径,mode='rb')
obj.read()
obj.write()
obj.seek()
obj.tell()
obj.close()
obj.flush()
obj.readline()
PS: 打开文件后,记着关闭文件
手动关闭:
obj = open(文件路径,mode='rb')
xxxx
obj.close()
自动关闭:
with open(文件路径,mode='rb') as obj:
obj.read() # 代码执行完毕后,自动关闭文件
二、文件逐行读取循环
例:
f=open('user.txt',encoding='utf-8',mode='r') name = input("请输入用户名:") pwd = input("请输入密码:") for line in f:val= line.strip().split('|')if name==val[0] and pwd==val[1]:print("登陆成功!")
注释:循环结束指针并未回到文件起始位置两种方法可以实现:重新打开文件或者f.seek(0)将指针强制放回起始位置
三、文件操作重点方法介绍
1、只读方法实例:
f = open('file',encoding='utf-8') #f文件句柄、文件操作符,默认只读模式 content1 = f.read() #read 读整个文件 返回一个字符串 f.seek(0) #将指针重新定位到文件起始,否则后面read方法无法执行 content2 = f.readlines() #read 读整个文件 返回一个列表 f.seek(0) content3 = f.readline() #readline 读一行 f.close() print(content1) print(content2) print(content3)
2、只写方法实例:(慎重!会将原文件内容清空)
f = open('file','w',encoding='utf-8') f.write('nezha|18|male') #写一个字符串 f.writelines() #将列表中的内容写入文件 f.close()
3、读写方法实例:
f = open('file','r+',encoding='utf-8') print(f.readline()) f.write('wusir|66|male') f.close() #输出结果说明:输出第一行,并在原文件夹最后追加写的内容
说明:(1)打开文件的时候:不清空文件 (2)当用户读取操作之后,写的所有内容都变成追写 (3)当用户不执行读操作,写默认从开始覆盖
4、文件修改实例:
f = open('file',encoding='utf-8') f2 = open('file_bak','w',encoding='utf-8') #文件本身不存在 for line in f:user_list = line.split('|')print(user_list)user_list[0] = user_list[0]+'_somebody'#print(user_list)user_str = '|'.join(user_list)print(user_str)f2.write(user_str) f.close() f2.close() import os #模块- 用来和操作系统交互的模块 os.remove('file') #删除一个文件 os.rename('file_bak','file') #重命名一个文件
转载于:https://www.cnblogs.com/seven-007/p/7425955.html
python之路_文件操作解析相关推荐
- Python基本语法_文件操作_读写函数详解
目录 目录 软件环境 file文件对象 open文件操作 读文件 read读取所有文件内容 readline获取一行内容 readlines读取所有文件内容 readreadlinereadlines ...
- python文件替换一行_python基础_文件操作实现全文或单行替换的方法
这篇文章主要介绍了关于python基础_文件操作实现全文或单行替换的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 python修改文件时,使用w模式会将原本的文件清空/覆盖.可以 ...
- C语言文件操作解析(二)【转载】
http://www.cnblogs.com/dolphin0520/archive/2011/10/05/2199598.html C语言文件操作解析(二) C语言中对文件进行操作必须首先打开文件, ...
- C语言文件操作解析(二)
C语言文件操作解析(二) C语言中对文件进行操作必须首先打开文件,打开文件主要涉及到fopen函数.fopen函数的原型为 FILE* fopen(const char *path,const cha ...
- C语言文件操作解析(一)
C语言文件操作解析(一) 在讨论C语言文件操作之前,先了解一下与文件相关的东西. 一.文本文件和二进制文件 文本文件的定义:由若干行字符构成的计算机文件,存在于计算机系统中.文本文件只能存储文件中的有 ...
- Python中的File(文件)操作
Python中的File(文件)操作 针对磁盘中的文件的读写.文件I/O I 输入(input) O输出(Output) 文件操作步骤:1.打开文件 2.读写文件 3.关闭文件 写入文件的操作:(把大 ...
- 详解Python中的File(文件)操作
目录 Python中的File(文件)操作 写入文件的操作: 读取文件的操作: 一.文件操作相关函数 1. open() 打开文件 2. seek() 设置文件指针的位置 3. write() 写入内 ...
- python成长之路9——文件操作open
一. 打开文件 f = open("db","r",encoding="utf8") r:只读 w:只写,会先清空文件 a:追加 x:如果文 ...
- python删除txt文件第三行_真香!Python十大常用文件操作,轻松办公
日常对于批量处理文件的需求非常多,用Python写脚本可以非常方便地实现,但在这过程中难免会和文件打交道,第一次做会有很多文件的操作无从下手,只能找度娘. 本篇文章整理了10个Python中最常用到的 ...
最新文章
- 8 .3 .6 发送邮件
- 使用tab键分割的文章能快速转换成表格。( )_无需按空格键,就能将Word文字对齐,3种方法了解一下...
- linux shell mv/cp 错误: will not overwrite just-created <filename> with <sameFilename> 解决方法
- Mybatis 的工作原理,写得太好了!
- URAL - 1732 Ministry of Truth--kmp算法的应用(kmp模板)
- java api限流_Java 9:流API的增强
- 数据结构 4 字符匹配-KMP算法
- 静态方法和属性可以被继承吗?
- 源码安装 nginx 并设置为 service
- jboss7学习2-jboss7入门(端口和访问的ip问题)
- Javascript基础ppt
- 动态规划:走楼梯问题——01
- java中protect是什么_Java中public、private、protecte、default、public void是什么意思 | 学步园...
- 利用switch实现春夏秋冬
- MSTP多实例配置实验
- python爬虫知乎图片_python 爬取知乎图片
- 一文读懂shell命令
- USACO修理牛棚 Barn Repair
- aps系统功能模块有哪些?看了本文你就知道了
- windows64位系统完全卸载winpcap的方式
热门文章
- Spark on K8S及history服务部署
- Scala集合体系:可变集合和不可变集合
- Hadoop Name node is in safe mode报错解决办法
- centos7.x 64位 rpm安装JDK8
- MySQL repeat复制函数示例
- 如何查看ddos 放开的ip
- QML on Android 在小米5s手机上中文字体显示异常
- mongoose Warning:Server Discovery and Monitoring engine is deprecated
- python ndarray find_python – 从存储在NumPy ndarrays中的图像中查找特定(R,G,B)颜色值的(x,y)索引...
- android处理服务器的集合,android集合SSH搭建服务器客户端请求