基础知识六 文件操作

​ 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操作:
  1. 先清空文件
  2. 写入文件
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(): 移动光标,
  1. seek(0,0) --> 移动到文件头部
  2. seek(0,1) --> 当前位置
  3. seek(0,2) --> 移动到文件末尾
  4. 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. 绝对路径方式打开文件

    路径转义:

    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()
  1. 相对路径
f = open("../190713/1.txt",'r','utf-8')
print(f.read())
f.close()
#推荐使用相对路径

python基础知识六 文件的基本操作+菜中菜的更多相关文章

  1. Python基础知识(六)------小数据池,集合,深浅拷贝

    Python基础知识(六)------小数据池,集合,深浅拷贝 一丶小数据池 什么是小数据池: ​ 小数据池就是python中一种提高效率的方式,固定数据类型使用同一个内存地址 代码块 : ​ 一个文 ...

  2. python基础学习Day8 文件的基本操作

    1.文件的基本操作初识 f = open('a.text', 'r', encoding='utf-8')data = f.read()print(data)f.close() 2.读  r  r+b ...

  3. Python基础知识(八)----文件操作

    文件操作 一丶文件操作初识 ###f=open('文件名','模式',编码): #open() # 调用操作系统打开文件 #mode #对文件的操作方式 #encoding # 文件的编码格式 存储编 ...

  4. python基础知识-day7(文件操作)

    1.文件IO操作: 1)操作文件使用的函数是open() 2)操作文件的模式: a.r:读取文件 b.w:往文件里边写内容(先删除文件里边已有的内容) c.a:是追加(在文件基础上写入新的内容) d. ...

  5. python基础知识---操作文件

    一.打开文件  open()函数 open函数返回一个文件对象. 用法:open('文件名','模式') 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内 ...

  6. Python基础知识:文件和异常

    1.相对路径:如果文件和程序在同一文件夹内,可不用路径:如果文件在程序所在文件夹下一级文件夹中,只需添加下一级文件夹名称即可: 在Linux和OS系统中:文件路径中使用斜杠(/) 在Windows系统 ...

  7. python基础知识六

    博客园的博文对每篇博文的长度似乎做了限制 面向对象编程, 在程序何种,根据操作数据的函数或语句块来设计程序.这被成为面向过程的编程.还有一种把数据和功能结合起来,用称为对象的东西包裹起来组织组织程序的 ...

  8. python基础知识四 小数据池,深浅拷贝,集合+菜中菜

    四.小数据池,深浅拷贝,集合+菜中菜 1小数据池 --缓存机制(驻留机制) ​ '==' 判断两边内容是否相等 ​ 'is' 基于内存地址进行判断是否相同 a = 10 b = 10 print(a ...

  9. python基础知识三 字典-dict + 菜中菜

    3.7字典:dict+菜中菜 1.简介 ​ 无序,可修改,用于存储数据,大量,比列表快,将数据和数据之间关联 ​ 定义:dict1 = {'cx':10,'liwenhu':80,'zhangyu': ...

随机推荐

  1. 什么是BSON?

    BSON( Binary Serialized Document Format) 是一种二进制形式的存储格式,采用了类似于 C 语言结构体的名称.对表示方法,支持内嵌的文档对象和数组对象,具有轻量性. ...

  2. Android零基础入门第36节:Android系统事件的响应

    原文:Android零基础入门第36节:Android系统事件的响应 在开发Android应用时,有时候可能需要让应用程序随系统设置而进行调整,比如判断系统的屏幕方向.判断系统方向的方向导航设备等.除 ...

  3. vista忘记用户名密码的修改方法(使用PE进入系统,用cmd.exe冒充虚拟键盘,然后就可以mmc组策略,或者命令行添加用户并提升权限)

    1. 准备Windows Vista安装光盘,进入BIOS将光驱设为第一启动,在出现的安装界面依次单击"修复计算机","命令提示符". 2.输入以下命令: co ...

  4. 社会不是承认有学历的人, 而是承认努力过得人, 而且是真正努力过不是穷忙的人(没有学历就要多付出一倍的努力)good

    送你一句 这就是你水平差的理由? 楼主你工资低是因为你技术不行, 不想努力然后怪罪学历, 为什么学历高的混得好, 因为学历高的人努力过, 你没学历技术还不行, 凭什么证明你努力过, 社会不是承认有学历 ...

  5. Delphi中文件流的使用方法

    在Delphi中,所有流对象的基类为TStream类, 其中定义了所有流的共同属性和方法.TStream类中定义的属性介绍如下: 1.Size: 此属性以字节返回流中数据大小. 2.Position: ...

  6. 多进程demo

    多进程实现DOS重定向输出,界面如下: 主要的代码实现如下: #define MAXREADBUFFERLEN (60 * 1000) void CRedirectDlg::OnBnClickedBu ...

  7. SYN2306型 北斗串口时间服务器

    SYN2306型  北斗串口时间服务器  北斗授时设备北斗时钟同步系统使用说明视频链接: http://www.syn029.com/h-pd-108-0_310_36_-1.html 请将此链接复制 ...

  8. Python socket文件上传下载

    python网络编程 程序的目录结构 socketDemo ├── client │   ├── cli.py │   └── local_dir │   └── lianxijiangjie.mp4 ...

  9. React躬行记(2)——JSX

    JSX既不是字符串,也不是HTML,而是一种类似XML,用于描述用户界面的JavaScript扩展语法,如下代码所示.在使用JSX时,为了避免自动插入分号时出现问题,推荐在其最外层用圆括号包裹,并且必 ...

  10. vsphere网络

    物理网络 物理机间建立的网络,VMware ESXi运行于物理机之上 虚拟网络 单台物理机上运行的虚拟机之间通信形成的逻辑网络. 一.网络概述 1. 物理以太网交换机 2.vSphere标准交换机 虚 ...