写点什么

[Python 公开课] 零基础玩转 Python 进阶篇 ---- 第一节:Python 中的文件操作

作者:是Dream呀
  • 2022 年 2 月 15 日
  • 本文字数:2917 字

    阅读完需:约 10 分钟

[Python公开课]零基础玩转Python进阶篇----第一节:Python中的文件操作

📢📢📢📣📣📣🌻🌻🌻Hello,大家好我叫是 Dream 呀,一个有趣的 Python 博主,多多关照😜😜😜🏅🏅🏅CSDN Python 领域优质创作者,大二在读,欢迎大家找我合作学习(文末有 VX 想进学习交流群 or 学习资料 欢迎+++)💕 入门须知:这片乐园从不缺乏天才,努力才是你的最终入场券!🚀🚀🚀💓最后,愿我们都能在看不到的地方闪闪发光,一起加油进步🍺🍺🍺🍉🍉🍉“一万次悲伤,依然会有 Dream,我一直在最温暖的地方等你”,唱的就是我!哈哈哈~🌈🌈🌈🌟🌟🌟✨✨✨


前言: 📢📢📢【Python公开课】系列课程是针对 Python 入门 &进阶打造的一全套课程,如果你喜欢的话就抓紧收藏订阅起来吧~💘💘💘【报团取暖】🆘🆘🆘🍋🍋🍋如果对学习没有自制力或者没有一起学习交流的动力,欢迎私信或者在文末添加我的 VX,我会拉你进学习交流群,我们一起交流学习,报团打卡


@TOC

1️⃣ 学习目标----提前知💞💞💞

☀️☀️☀️一个崇高的目标,只要不渝地追求,就会成为壮举!


  • 掌握 Python 中 文件的打开和关闭

  • 掌握文件的读写

  • 掌握文件的相关操作

  • 掌握文件的重命名和删除方式

2️⃣ 学习任务----我能行🍻🍻🍻

🏅🏅🏅穷且益坚,不坠青云之志!

🚀01 文件的打开和关闭

文件的打开

使用 Word 编写一份简历的流程:


  • 打开新建一个 Word 文件

  • 写入个人简历信息

  • 保存文件

  • 关闭 Word 软件


操作文件的整体过程和 word 写简历的过程类似:


  • 打开或新建立一个文件

  • 读/写数据

  • 关闭文件


在 python 中,使用 open方法 打开文件:


open(文件名,访问模式)
复制代码


  1. “文件名”必须要填写

  2. “访问模式”是可选的


注意如果使用 open 函数打开文件时,如果没有注明访问模式,则必须保证文件是存在的,否则会报异常。


Traceback (most recent call last):  File "<input>", line 1, in <module>FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'
复制代码

文件的模式

基本:


  • r:默认模式,以只读方式打开文件

  • w: 打开一个文件只用于写入

  • a: 打开一个文件用于追加

  • rb: 以二进制格式打开一个文件用于只读

  • wb: 以二进制格式打开一个文件只用于写入

  • ab: 以二进制格式打开一个文件用于追加


复杂:


  • r+: 打开一个文件用于读写,文件指针会放在文件开头

  • w+: 打开一个文件用于读写,如果已经存在则会覆盖

  • a+: 打开一个文件用于读写,如果已经存在,则会放在末尾

  • rb+:以二进制格式打开一个文件用于读写

  • wb+: 以二进制格式打开一个文件用于读写。如存在则覆盖

  • ab+: 以二进制格式打开一个文件用于追加

文件的关闭

凡是打开的文件,切记要使用close方法关闭文件。


# 新建一个文件,文件名为:test.txtf = open(itheima.txt', 'w')# 关闭这个文件f.close()
复制代码

🚀02 文件的读写

写文件

向文件写数据,需要使用 write() 方法来完成,在操作某个文件时,每调用一次 write 方法,写入的数据就会追加到文件末尾。


# 一万次悲伤,依然会有Dream,我一直在最温暖的地方等你!# @Time    : 2022/1/23 13:00# @Author  : 是Dream呀!# @File    : 文件写入.pyf = open('xyp.txt', 'w')f.write('hello qiaoqiao, i am here!')f.close()
复制代码


如果没有此文件的话,会重新生成一个名为 xyp.txt 的文件:



打开此 txt 文件会有,我们写入的内容:


读文件

方式 1:使用 read 方法读取文件 read(int)函数, 读取文件内容。如果指定读取长度,会按照长度去读取,不指定默认读取所有数据


# 一万次悲伤,依然会有Dream,我一直在最温暖的地方等你!# @Time    : 2022/1/23 13:05# @Author  : 是Dream呀!# @File    : 文件读.pyf = open('xyp.txt', 'r')content = f.read(12)print(content)content = f.read()print(content)f.close()# hello qiaoqi# ao, i am here!
复制代码


前面读过的,后面就不会再读了。我们将原文件,再写入一行:



方式 2:使用 readlines 方法读取文件 readlines()是按行输出列表,会把每一行的数据作为一个元素放在列表中返回,读取所有行的数据


f= open('xyp.txt', 'r')content = f.readlines()print(content)
复制代码



----去掉括号和换行的方法----


f= open('xyp.txt', 'r')content = f.readlines()print(content)for i in content:    i = i.strip('\n')    print(i)
复制代码



方式 3:使用 readline 方法一行一行读数据 readline()是读取一行,遇到换行结束


f = open('xyp.txt', 'r')content = f.readline()print("1:%s"%content)content = f.readline()print("2:%s"%content)f.close()
复制代码

文件的定位读写

方式 1:使用 tell 方法来获取文件当前的读写位置


f = open("xyp.txt", "r")str = f.read(4)print('读取的数据是 : ', str)position = f.tell()print("当前文件位置 : ", position)# 读取的数据是 :  hell# 当前文件位置 :  4
复制代码


tell()方法返回文件的当前位置,即文件指针当前位置方式 2:使用 seek 方法来移动文件读取指针到指定位置 seek(offset, from)方法包含两个参数:


  • offset:表示偏移量,也就是代表需要移动偏移的字节数

  • from:表示方向,可以指定从哪个位置开始偏移

  • 0:表示文件开头(默认值)

  • 1:表示当前位置

  • 2:表示文件末尾

🚀03 文件的重命名和删除

文件的重命名

os 模块中的 rename()方法可以完成文件的重命名。格式如下:


os.rename(需要修改的文件名, 新的文件名)
复制代码


文件的删除

os 模块中的 remove()方法可以完成文件的删除操作。格式如下:


os.remove(待删除的文件名)
复制代码


在这里插入图片描述

🚀04 文件的相关操作

1.创建文件夹

os 模块的 mkdir 方法用来创建文件夹,示例如下:


import osos.mkdir("张三")
复制代码


2.获取当前目录

os 模块的 getcwd 方法用来获取当前的目录,示例如下:


import osos.getcwd()
复制代码


3.改变默认目录

os 模块的 chdir 方法用来改变默认目录,示例如下:


import ospath = "Python文件操作"# 查看当前工作目录  retval = os.getcwd()print("当前工作目录为 %s" % retval)# 修改当前工作目录  os.chdir(path)# 查看修改后的工作目录  retval = os.getcwd()print("目录修改成功 %s" % retval)
复制代码


4. 获取目录列表

os 模块的 listdir 方法用于获取目录列表,示例如下:


import osos.listdir (”./”)
复制代码



5. 删除文件夹

os 模块的 rmdir 方法用于删除文件夹,示例如下:


import osos.rmdir ('张三')
复制代码


3️⃣ 本章小结----知难易🏆🏆🏆

😊😊😊人生是跋涉,也是旅行;是等待,也是重逢;是探险,也是寻宝;是眼泪,也是歌声!


本章主要针对 Python 中的文件操作进行讲解,包括 文件的打开关闭、文件的读写、文件的重命名、文件的删除等。通过本章的学习,希望大家可以认真掌握文件的相关操作,能够熟练使用相关方法实现功能。

4️⃣ 小试牛刀----习题讲解🌈🌈🌈

🏃 🏃 🏃本期问题

✍第一题 写出下列语句会输出什么结果?

a = 0if a and print(456):    print(123)
复制代码


选项:   A:123        B:456      C:456      D:什么都不输出                         123
复制代码


考点:短路求值答案:什么都不输出

✍第二题 写出程序运行后 a 的值_______

a = 1b = 2def func():    a = 2    b = 1    a = a * (b + 1)func()print(a)
复制代码


考点:全局变量与局部变量(函数内部直接对已有的同名全局变量赋值,python 会认为这是一个同名的局部变量)至于 func 函数内部的一系列操作可能会让部分同学以为是考计算-.-

💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~




用户头像

是Dream呀

关注

Python领域优质创作者 2021.03.30 加入

2021年度博客之星TOP100,2021年度领域TOP5 Python领域优质创作者,交流、合作、学习,欢迎私信我VX+++ 一万次悲伤,依然会有Dream,我一直在最温暖的地方等你!

评论

发布
暂无评论
[Python公开课]零基础玩转Python进阶篇----第一节:Python中的文件操作