python基础知识六 文件的基本操作+菜中菜
基础知识六 文件操作
open():打开
file:文件的位置(路径)
mode:操作文件模式
encoding:文件编码方式
f :文件句柄
f = open("1.txt",mode = 'r',encoding = 'utf-8')
print(f.read())
f.close
1.文件操作模式:
r,w,a(重要)
rb,wb,ab(次要)
r+,w+,a+
1.1 r/w/a
1. r操作:
f = open('1.txt','r')
print(f.read()) #全部读取
print(f.read(5))#按照字符进行读取,前5个
print(f.readline())#读取一行内容,自动换行
print(f.readline().strip())#拖\n
print(f.readlines())#一行一行读,存为列表
#解决大文件:
for i in f:
print(i)#本质就是一行一行进行读取
2. w操作:
- 先清空文件
- 写入文件
f = open('1.txt','w',encoding='utf-8')
f.write('13030308\n')
f.write('456456\n')
f.close()
3. a操作:追加操作
#在源文件的基础上进行添加
f = open('1.txt','a',encoding='utf-8')
f.write('13030308\n')
f.write('456456\n')
f.close()
1.2. b操作:rb/wb/ab
#rb:
f1 = open('1.jpg','rb')
print(f1.read())
print(f1.read(3))#按照字节读取,读取前3个字节
#wb:
f = open('3.jpg','wb')
f.write(f1.read())
#ab:
f = open('2.jpg','ab')
f.write('你好啊',encode = 'utf-8')
1.3 +操作
1. r+:读写。应该先读后写
#错误示范
f = open('1.txt','r+')
#f = write('cx你太美')
#print(f.read())
#正确
print(f.read())
f = write('cx你太美')
2. w+ :清空写读
#读不到内容
f = open('1.txt','w+')
f = write('cx你太美')#光标问题
print(f.read())
3. a+:追加写读
#读不到内容
f = open('1.txt','a+')
f = write('cx你太美')#光标问题
print(f.read())
2.菜中菜:
1.f.tell(): 返回的是字节数
2.f.seek(): 移动光标,
- seek(0,0) --> 移动到文件头部
- seek(0,1) --> 当前位置
- seek(0,2) --> 移动到文件末尾
- seek(3) --> 按字节移动(按照不同编码集进行计算)
print(f.tell())#显示光标位置,返回的是字节数
f.seek(0)#移动光标
3.文件修改:
f =open('1.txt','r','utf-8')
#for i in f:
s = f.read()
s1 = s.replace('12','45')
f.close()
f1 =open('1.txt','w','utf-8')
f1.write(s1)
f1.close()
4.with open()#自动打开关闭文件
with open('1.txt','r','utf-8') as f,\
open('1.1.txt','w','utf-8') as f1:
for i in f:
s1 =i.replace('12','45')
f1.write(s1)
import os
os.rename('1.txt','1.bak')
os.rename('1.1.txt','1.txt')
3.相对路径:
绝对路径方式打开文件
路径转义:
1."\"
2.r"C:\user\net"
f = open("E:\\python\\oldboy\\py\\190715",'r','utf-8')
#路径转义:1.'\\'
#2.r。-->repr():数据的原形态
#s = "[1,2,'3',4]"
#print(s)
#print(repr(s))#--显示数据原形态
f = open(r"E:\python\oldboy\py\190715",'r','utf-8')
print(f.read())
f.close()
- 相对路径
f = open("../190713/1.txt",'r','utf-8')
print(f.read())
f.close()
#推荐使用相对路径
python基础知识六 文件的基本操作+菜中菜的更多相关文章
- Python基础知识(六)------小数据池,集合,深浅拷贝
Python基础知识(六)------小数据池,集合,深浅拷贝 一丶小数据池 什么是小数据池: 小数据池就是python中一种提高效率的方式,固定数据类型使用同一个内存地址 代码块 : 一个文 ...
- python基础学习Day8 文件的基本操作
1.文件的基本操作初识 f = open('a.text', 'r', encoding='utf-8')data = f.read()print(data)f.close() 2.读 r r+b ...
- Python基础知识(八)----文件操作
文件操作 一丶文件操作初识 ###f=open('文件名','模式',编码): #open() # 调用操作系统打开文件 #mode #对文件的操作方式 #encoding # 文件的编码格式 存储编 ...
- python基础知识-day7(文件操作)
1.文件IO操作: 1)操作文件使用的函数是open() 2)操作文件的模式: a.r:读取文件 b.w:往文件里边写内容(先删除文件里边已有的内容) c.a:是追加(在文件基础上写入新的内容) d. ...
- python基础知识---操作文件
一.打开文件 open()函数 open函数返回一个文件对象. 用法:open('文件名','模式') 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内 ...
- Python基础知识:文件和异常
1.相对路径:如果文件和程序在同一文件夹内,可不用路径:如果文件在程序所在文件夹下一级文件夹中,只需添加下一级文件夹名称即可: 在Linux和OS系统中:文件路径中使用斜杠(/) 在Windows系统 ...
- python基础知识六
博客园的博文对每篇博文的长度似乎做了限制 面向对象编程, 在程序何种,根据操作数据的函数或语句块来设计程序.这被成为面向过程的编程.还有一种把数据和功能结合起来,用称为对象的东西包裹起来组织组织程序的 ...
- python基础知识四 小数据池,深浅拷贝,集合+菜中菜
四.小数据池,深浅拷贝,集合+菜中菜 1小数据池 --缓存机制(驻留机制) '==' 判断两边内容是否相等 'is' 基于内存地址进行判断是否相同 a = 10 b = 10 print(a ...
- python基础知识三 字典-dict + 菜中菜
3.7字典:dict+菜中菜 1.简介 无序,可修改,用于存储数据,大量,比列表快,将数据和数据之间关联 定义:dict1 = {'cx':10,'liwenhu':80,'zhangyu': ...
随机推荐
- 什么是BSON?
BSON( Binary Serialized Document Format) 是一种二进制形式的存储格式,采用了类似于 C 语言结构体的名称.对表示方法,支持内嵌的文档对象和数组对象,具有轻量性. ...
- Android零基础入门第36节:Android系统事件的响应
原文:Android零基础入门第36节:Android系统事件的响应 在开发Android应用时,有时候可能需要让应用程序随系统设置而进行调整,比如判断系统的屏幕方向.判断系统方向的方向导航设备等.除 ...
- vista忘记用户名密码的修改方法(使用PE进入系统,用cmd.exe冒充虚拟键盘,然后就可以mmc组策略,或者命令行添加用户并提升权限)
1. 准备Windows Vista安装光盘,进入BIOS将光驱设为第一启动,在出现的安装界面依次单击"修复计算机","命令提示符". 2.输入以下命令: co ...
- 社会不是承认有学历的人, 而是承认努力过得人, 而且是真正努力过不是穷忙的人(没有学历就要多付出一倍的努力)good
送你一句 这就是你水平差的理由? 楼主你工资低是因为你技术不行, 不想努力然后怪罪学历, 为什么学历高的混得好, 因为学历高的人努力过, 你没学历技术还不行, 凭什么证明你努力过, 社会不是承认有学历 ...
- Delphi中文件流的使用方法
在Delphi中,所有流对象的基类为TStream类, 其中定义了所有流的共同属性和方法.TStream类中定义的属性介绍如下: 1.Size: 此属性以字节返回流中数据大小. 2.Position: ...
- 多进程demo
多进程实现DOS重定向输出,界面如下: 主要的代码实现如下: #define MAXREADBUFFERLEN (60 * 1000) void CRedirectDlg::OnBnClickedBu ...
- SYN2306型 北斗串口时间服务器
SYN2306型 北斗串口时间服务器 北斗授时设备北斗时钟同步系统使用说明视频链接: http://www.syn029.com/h-pd-108-0_310_36_-1.html 请将此链接复制 ...
- Python socket文件上传下载
python网络编程 程序的目录结构 socketDemo ├── client │ ├── cli.py │ └── local_dir │ └── lianxijiangjie.mp4 ...
- React躬行记(2)——JSX
JSX既不是字符串,也不是HTML,而是一种类似XML,用于描述用户界面的JavaScript扩展语法,如下代码所示.在使用JSX时,为了避免自动插入分号时出现问题,推荐在其最外层用圆括号包裹,并且必 ...
- vsphere网络
物理网络 物理机间建立的网络,VMware ESXi运行于物理机之上 虚拟网络 单台物理机上运行的虚拟机之间通信形成的逻辑网络. 一.网络概述 1. 物理以太网交换机 2.vSphere标准交换机 虚 ...