python学习--day17-19 文件操作 r w a

python基础-文件操作

 

一、文件操作

对文件操作的流程

  1. 打开文件,得到文件句柄并赋值给一个变量
  2. 通过句柄对文件进行操作
  3. 关闭文件

      打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。

打开文件的模式有:

  • r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
  • w,只写模式【不可读;不存在则创建;存在则清空内容】
  • x, 只写模式【不可读;不存在则创建,存在则报错】
  • a, 追加模式【可读;   不存在则创建;存在则只追加内容】

"+" 表示可以同时读写某个文件

  • r+, 读写【可读,可写】
  • w+,写读【可读,可写】
  • x+ ,写读【可读,可写】
  • a+, 写读【可读,可写】

 "b"表示以字节的方式操作

  • rb  或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

 注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码

 

(1)读文件示例:

r:先建一个文件,命名为test1,写入内容为hello world,开始读取文件

a=open ("test1")
b=a.read()
print(b)
a.close()

读取的结果是:

hello world

(2)写文件示例:“w”和“x”

1、w:先建一个文件,命名为test2,写入内容为welcome to beijing,开始写入内容i have a dream

a=open ("test2",mode="w",encoding="utf-8")
b=a.write("i have a dream")
print (b)
a.close()

写入的结果是:(将之前的welcome to beijing给覆盖掉了,所以w写的权限的话,是覆盖之前的内容)

i have a dream

2、x:创建了一个空的文件test3,并往里面写入内容为hello world

a=open ("test3",mode="x")
b=a.write("hello world")
print (b)
a.close()

 写入的结果是:(如果文件存在的话,则会报错,“x”是需要自己创建新的文件) 

hello world

(3)追加文件示例:

a:先建一个文件,命名为test2,写入内容为i have a dream,追加新内容hello xuyaunyaun

a=open ("test2",mode="a",encoding="utf-8")
b=a.write("\nhello xuyuanyuan")
print (b)
a.close()  

写入的结果是在后面追加了

i have a dream
hello xuyuanyuan

总结:打开文件的模式有:

  • r,只读模式(默认)。
  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
  • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

  

关于可读可写模式:

(1)r+:新建一个文件test1,写入内容hello,再次写入内容hello xuyuanyuan

a=open ("test1",mode="r+",encoding="utf-8")
print(a.read())
b=a.write("\nhello xuyuanyuan")
print (b)
a.close()

 写入的结果是在hello后面追加了

hello
hello xuyuanyuan

(2)w+:新建一个文件test3,写入内容test3,再次写入内容goodgirl

a=open ("test3",mode="w+",encoding="utf-8")print(a.read())b=a.write("goodgirl")a.seek(0)print (a.read())a.close()

 写入的结果是:(现将之前的test3删除了,再写入了内容goodgirl)注意:read内容是,由于光标此时在内容最后面,没有内容可读,所以需要a.seek(0)将光标移动至最开始的位置,即可read出内容

goodgirl

(3)a+:新建一个文件test4,写入内容xuyuanyuan,再次写入内容hello world 

a=open ("test4",mode="a+",encoding="utf-8")
b=a.write("\nhelloworld")
a.seek(0)
print(a.read())
a.close()

 写入的结果是:(在后面追加写入了内容hello world),注意:read内容是,由于光标此时在内容最后面,没有内容可读,所以需要a.seek(0)将光标移动至最开始的位置,即可read出内容

xuyaunyuan
helloworld

总结:

"+" 表示可以同时读写某个文件

  • r+,可读写文件。【可读;可写;可追加】
  • w+,写读
  • a+,同a

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

  • rU
  • r+U

关于 "b"表示以字节的方式操作:

(1)rb(读权限,以字节的方式):新建一个文件test1,写入内容hello xuyuanyuan

a=open ("test1",mode="rb")
print(a.read())
a.close()

 打印的结果是:

b‘hello xuyuanyuan‘

 

(2)wb+(读写权限,以字节的方式):新建一个文件test2,写入内容welcome to beijing

a=open ("test2",mode="wb+")
b=a.write(b"welcome to beijing")
a.seek(0)
print(a.read())
a.close()

 打印的结果是:

b‘welcome to beijing‘

(3)ab+(读写权限,追加,以字节的方式):新建一个文件test2,写入内容welcome to beijing,再追加内容welcome xuyuanyuan

a=open ("test2",mode="ab+")
b=a.write(b"\nwelcome xuyuanyuan")
a.seek(0)
print(a.read())
a.close()

 打印的结果是:  

b‘welcome to beijing\nwelcome xuyuanyuan‘

总结: 

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb
  • wb
  • ab

 

 

 python文件操作 seek(),tell()

seek():移动文件读取指针到指定位置

tell():返回文件读取指针的位置

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

时间: 2024-08-02 11:00:25

python学习--day17-19 文件操作 r w a的相关文章

python学习笔记(三):文件操作和集合

这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 寂寞当然有一点 你不在我身边 总是特别想念你的脸 距离是一份考卷 测量

Python学习总结之文件操作

从本次随笔开始,陆续总结下自己在学习Python中各个模块的一些总结.最近一直在学习<Python核心编程>,发现如果只是翻书的话,翻一遍就忘记,所有,现在争取在一个月内,把Python常用的一些基础知识做一个梳理和总结. 本次总结文件和输入输出的一些操作,参考书目<Python 核心编程 第二版>. 一,文件的操作 文件的入口是由内建函数 open()和file()来提供初始化的操作.这两个内建函数操作基本上一样,可以互用,而且大部分习惯来说,还是用open()比较多一些. op

Python学习基础篇—文件操作和集合

这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 我们笑着 我们抬头望天空 星星还亮着几颗 我们唱着 时间的歌 才懂得相互拥抱 到底是为了什么 因为我刚好遇见你 留下足迹才美丽 风吹花落泪如雨 因为不想分离 因为刚好遇见你 留下十年的期许 如果再相遇 我想我会记得你 我们哭了 我们笑着 我们抬头望天空 星星还亮着几颗 我们唱着 时间的歌 才懂得相互

Python学习:7.文件操作

文件操作 我们曾将听过一个问题,将大象放入冰箱分为三步:1.打开冰箱门,2.将大象放进去,3.关上冰箱门.今天我们要讲的Python文件操作的步骤就像将大象放入冰箱的步骤一样. 使用Python操作文件的基本步骤: 打开文件 对文件内容进行操作(读取文件信息,向文件中写入信息等) 关闭文件 一.打开文件 在上一篇的内置函数介绍中,我们提到了open这个函数,这个函数的作用就是打开一个文件. 格式一 文件句柄 = open(文件路径,打开格式,编码) 打开文件时,需要指定文件路径和以何种方式打开文

python学习笔记4-python文件操作

python文件操作 open r:以读方式打开 w:以写方式打开 a:以追加模式 r+:读写模式 w+:读写模式(参见w) a+:读写模式(参见a) rb:以二进制读模式打开 wb:以二进制写模式打开(参见w) ab:以二进制追加模式打开(参见a) rb+:以二进制读写模式打开(参见r+) wb+:以二进制读写模式打开(参见w+) ab+:以二进制读写模式打开(参见a+) with open 使用for循环遍历文件 打开文件 [[email protected] ~]# vim forread

Python学习系列之文件操作

Pyhton文件打开方式 with= open('文件路径','打开模式') as f:#PS:python3提供了with语句来帮我们自动调用close方法,所以说无论打开文件是否出错都能自动正确的关闭文件 Python打开文件的模式 基本模式 带'+'的模式 带'b'的模式 #提示:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型 带'+'和带'b'的模式 Python文件读取方式 Pyhton文件写入方式 Python文件操作所提供的方法 close(self) 关闭已经打

python学习05-文件操作

文件操作分为读.写.修改,以什么模式存文件,就以什么模式编码打开文件. 打开文件的模式有: r,只读模式(默认). # 以什么模式存文件,就以什么模式编码打开文件 # 示例一:r是文本只读模式 f = open(file='D:/工作/兼职联系信息.txt',mode='r',encoding='utf-8') # 绝对路径访问 data = f.read() f.close() # 示例二:rb:二进制只读模式,无法指定encoding,因为在该模式下数据读到内存里直接是bytes格式,如要查

python学习第八天,,文件操作,切片相当于浅copy

切片的补充: 切片相当于浅copy: a = [1,2,3,4,5] b = a[:] print(id(a),id(b),id(a[0]),id(a[0])) #2432299195592 2432299195528 #1795645664 1795645664 文件的操作:(分为三步) 1.打开文件.产生文件句柄 f 2.对文件句柄进行操作 3.关闭文件句柄 f = open(r'a.txt',encoding='utf-8',mode='r') f.read() content = f.c

python学习之:文件操作二

import logginglogging.basicConfig(level=logging.INFO) '''def check_number_exist(password_str): has_number = False for c in password_str: if c.isnumber(): has_number = True break return has_number def check_letter_exist(password_str): has_letter = Fal