《Python入门到精通》文件操作
「作者主页」:士别三日wyx
此文章已录入专栏《Python入门到精通》
2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习
文件操作
- 1. 打开文件
- 1.1 文件路径
- 1.1.1 相对路径
- 1.1.2 绝对路径
- 1.2 模式
- 2. 创建文件
- 3. 读取文件
- 3.1 读取所有文件
- 3.2 读取指定字符
- 3.3 读取指定行
- 3.4 遍历文件
- 3.5 关闭文件
- 4. 修改文件
- 5. 删除文件
- 6. 删除目录
Python中提供了一些函数以方便我们 「操作文件」
1. 打开文件
open() 函数用来打开文件
语法
open( name, mode )
参数
- name:文件路径
- mode:可选,模式
- 返回值:文件对象
在 E 盘创建文件 a.txt ,使用 open() 函数打开该文件
file = open('E://a.txt')
print(file)
输出:
<_io.TextIOWrapper name='E://a.txt' mode='r' encoding='cp936'>
1.1 文件路径
文件路径分为两种:
- 相对路径
- 绝对路径
1.1.1 相对路径
相对路径是指「相对于当前文件」的路径
打开当前目录下的 a.txt 文件
file = open('a.txt')
print(file)
输出:
<_io.TextIOWrapper name='a.txt' mode='r' encoding='cp936'>
1.1.2 绝对路径
绝对路径是指文章在「电脑」中的位置
打开 E 盘 Python 目录下的 a.txt 文件
file = open('E://python/a.txt')
print(file)
输出:
<_io.TextIOWrapper name='E://python/a.txt' mode='r' encoding='cp936'>
1.2 模式
修改参数 mode 的值,可以指定文件的「打开方式」
- r:默认,读取,打开文件并读取,文件不存在则报错
- a:修改,打开文件准备修改,文件不存在则创建
- w:写入,打开文件准备写入,文件不存在则创建
- x:创建文件,文件存在则报错
「打开模式」
- t:默认,文本模式
- b:二进制模式(图像)
以文本模式 「读取」文件 a.txt
file = open('a.txt', 'rt')
print(file)
输出:
<_io.TextIOWrapper name='a.txt' mode='rt' encoding='cp936'>
2. 创建文件
在当前目录创建文件 b.txt
open('b.txt', 'x')
检查左侧目录,会多出一个文件 b.txt
3. 读取文件
read() 函数用来读取文件内容
语法
read( n )
参数
- n:可选,读取几个字符
- 返回值:读取的内容
3.1 读取所有文件
读取文件 a.txt 的全部内容
file = open('a.txt', encoding='utf-8')
text = file.read()
print(text)
输出:
第一行
第二行
第三行
第四行
……
3.2 读取指定字符
读取文件 a.txt 的前 6个字符
file = open('a.txt', encoding='utf-8')
text = file.read(6)
print(text)
输出:
第一行
第二
3.3 读取指定行
readline() 函数可以读取一行内容
读取文件 a.txt 第一行内容
file = open('a.txt', encoding='utf-8')
text = file.readline()
print(text)
输出:
第一行
配合 for 循环读取多行内容,如读取 3 行
file = open('a.txt', encoding='utf-8')
i = 0
while i < 3:text = file.readline()print(text)i += 1
输出:
第一行第二行第三行
3.4 遍历文件
使用 for 循环遍历文件,「逐行读取」文件内容
file = open('a.txt', encoding='utf-8')
for text in file:print(text)
输出:
第一行
第二行
第三行
第四行
……
3.5 关闭文件
close() 函数可以关闭文件,如果文件未关闭,对文件的「修改」可能会「不生效」
file = open('a.txt', encoding='utf-8')
print(file.read(3))
file.close()
输出:
第一行
4. 修改文件
write() 函数可以向文件中写入内容
修改文件内容时,需要指定 open() 函数的参数
- a:「追加」内容至文件末尾
- w:「写入」内容至文件中(覆盖原文件内容)
向文件 a.txt 中追加内容
file = open('a.txt', 'a', encoding='utf-8')
file.write('新添加的内容')
file.close()# 修改模式的文件不可读,需重新打开文件
file = open('a.txt', 'r', encoding='utf-8')
print(file.read())
输出:
第一行新添加的内容
向文件 a.txt 中写入内容( 「覆盖」原内容)
file = open('a.txt', 'w', encoding='utf-8')
file.write('新添加的内容')
file.close()# 修改模式的文件不可读,需重新打开文件
file = open('a.txt', 'r', encoding='utf-8')
print(file.read())
输出:
新添加的内容
5. 删除文件
exists() 函数可以判断「文件是否存在」
remove() 函数可以根据文件名「删除文件」
import osif os.path.exists('a.txt'):print('文件存在,删除文件')os.remove('a.txt')
else:print('文件不存在,无法删除')
输出:
文件存在,删除文件
6. 删除目录
rmdir() 函数可以删除目录(文件夹)
import osos.rmdir('mulu')
观察左侧目录,文件夹 mulu 已被删除
《Python入门到精通》文件操作相关推荐
- python入门三:文件操作
一.文件操作 1.文件对象:和c一样,要想对一个文件进行操作,需要获取该文件的对象 1 f = open("xxx") # 打开文件并获取文件对象 2 f.xxx # 对文件进行某 ...
- Python 入门学习10 —— 文件操作的应用及升级版三级菜单
一.文件操作的基本流程 open( ) open( ) 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. open(f ...
- C语言从入门到精通——文件操作
共用体和联合体: union test {char ch;short sh;int var; };联合体,内部所有成员变量地址一致.等同于整个联合体的地址.联合体的大小,是内部成员变量中,最大的那个成 ...
- python编程入门课 视频-Python入门到精通视频教程下载[21课程全]
Python入门到精通视频教程 初级共21节课 python编程入门,针对0基础就python语言基础语法的各个点逐步讲解,由浅入深,通俗易懂,层层深入.提取码: python编程入门,针对0基础就p ...
- arcgis python 教程-ArcGIS Python 入门到精通,视频教程下载
课程介绍: 本课程15章42个视频,基于ArcGIS10.2版本,涵盖了如何使用Python开发ArcGIS自定义工具,具体包括:编辑器的使用安装:列表函数使用:汉字乱码处理:游标(cursor)查询 ...
- python教程吾爱破解_2020年最新python入门到精通教程
2020年最新python入门到精通教程 资源共享吧良心论坛,一直用心为每位会员服务,希望大家能学有所成,今天为大家分享一套2020年最新python入门到精通教程,如果你是0基础想学习python这 ...
- Python入门到精通【精品】第一章 - Python概述
Python入门到精通[精品]第一章 - Python概述 1. Python语言历史 2. Python语言特点 3. Python的下载和安装 3.1. Python的下载 3.2. Python ...
- python基础教程视频下载-Python入门到精通视频教程下载[21课程全]
Python入门到精通视频教程 初级共21节课 python编程入门,针对0基础就python语言基础语法的各个点逐步讲解,由浅入深,通俗易懂,层层深入.提取码: python编程入门,针对0基础就p ...
- 《Python入门到精通》运算符
「作者主页」:士别三日wyx 此文章已录入专栏<Python入门到精通> 2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习 Python中提供了 7 种运算符 ...
最新文章
- Error:CPACK_PACKAGE_VERSION does not match version provided by version.hpp header!
- 深入剖析SolrCloud(一)
- PCB板上字母表示的含义
- Spring和CXF整合发布WebService(服务端、客户端)
- leetcode 之Remove Nth Node From End of List(19)
- [二叉树]二叉树中和为某一值的路径 (剑指offer24)
- 你知道你常用的dos和linux命令吗?
- mysql主从修改系统参数步骤_mysql主从配置的参数配置与步骤_MySQL
- Python批量转换ppt文件为pptx文件
- (转)正则表达式—RegEx(RegularExpressio)(三)
- cr3格式是什么意思_如何用PS导入佳能CR3格式图片?
- 解读《美国国家BIM标准》– BIM能力成熟度模型(六)
- SAP ERP常用事务代码和表
- Unity编程笔录--实现360全景视频和VR视频
- 安卓的短信记录导入苹果_如何把安卓系统的短信导入苹果手机
- 旅游网站首页——html
- 在进化计算中,软件进行元基编码的新陈代谢方式 V0. 1. 0
- VScode 设置 背景图片
- 未来5年到底是做什么生意最好?
- Fedora 17: 安装 perl-Tk
热门文章
- 培养创造性思维的20个技巧
- TZOJ 2099 Sightseeing tour(网络流判混合图欧拉回路)
- 我的程序员之路(4)——工作半年
- struct device结构体(2.6.23)
- Visual Assist X Options 注释设置-类
- springcloud2.0以上版本_eureka控制台显示_找不到${spring.cloud.client.ipAddress}_没有显示成IP地址---springcloud工作笔记165
- MFC工作笔记0001---认识MFC
- Netty工作笔记0078---Netty其他常用编解码器
- c++ 十进制、十六进制和BCD的相互转换
- Visual C++中动态链接库技术浅谈