Python技能树每日一练——文件操作
「作者主页」:士别三日wyx
此文章已录入专栏《Python入门到精通》
2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习
「操作文件」
1. 打开文件
open() 函数用来打开文件
语法
open( name, mode )
- 1
参数
- name:文件路径
- mode:可选,模式
- 返回值:文件对象
在 E 盘创建文件 a.txt ,使用 open() 函数打开该文件
file = open('E://a.txt')
print(file)
- 1
- 2
输出:
<_io.TextIOWrapper name='E://a.txt' mode='r' encoding='cp936'>
- 1
1.1 文件路径
文件路径分为两种:
- 相对路径
- 绝对路径
1.1.1 相对路径
相对路径是指「相对于当前文件」的路径
打开当前目录下的 a.txt 文件
file = open('a.txt')
print(file)
- 1
- 2
输出:
<_io.TextIOWrapper name='a.txt' mode='r' encoding='cp936'>
- 1
1.1.2 绝对路径
绝对路径是指文章在「电脑」中的位置
打开 E 盘 Python 目录下的 a.txt 文件
file = open('E://python/a.txt')
print(file)
- 1
- 2
输出:
<_io.TextIOWrapper name='E://python/a.txt' mode='r' encoding='cp936'>
- 1
1.2 模式
修改参数 mode 的值,可以指定文件的「打开方式」
- r:默认,读取,打开文件并读取,文件不存在则报错
- a:修改,打开文件准备修改,文件不存在则创建
- w:写入,打开文件准备写入,文件不存在则创建
- x:创建文件,文件存在则报错
「打开模式」
- t:默认,文本模式
- b:二进制模式(图像)
「读取」 a.txt
file = open('a.txt', 'rt')
print(file)
- 1
- 2
输出:
<_io.TextIOWrapper name='a.txt' mode='rt' encoding='cp936'>
- 1
2. 创建文件
在当前目录创建文件 b.txt
open('b.txt', 'x')
- 1
检查左侧目录,会多出一个文件 b.txt
3. 读取文件
read() 函数用来读取文件内容
语法
read( n )
- 1
参数
- n:可选,读取几个字符
- 返回值:读取的内容
3.1 读取所有文件
读取文件 a.txt 的全部内容
file = open('a.txt', encoding='utf-8')
text = file.read()
print(text)
- 1
- 2
- 3
输出:
第一行
第二行
第三行
第四行
……
- 1
- 2
- 3
- 4
- 5
3.2 读取指定字符
读取文件 a.txt 的前 6个字符
file = open('a.txt', encoding='utf-8')
text = file.read(6)
print(text)
- 1
- 2
- 3
输出:
第一行
第二
- 1
- 2
3.3 读取指定行
readline() 函数可以读取一行内容
读取文件 a.txt 第一行内容
file = open('a.txt', encoding='utf-8')
text = file.readline()
print(text)
- 1
- 2
- 3
输出:
第一行
- 1
for 3
file = open('a.txt', encoding='utf-8')
i = 0
while i < 3:
text = file.readline()
print(text)
i += 1
- 1
- 2
- 3
- 4
- 5
- 6
输出:
第一行
第二行
第三行
- 1
- 2
- 3
- 4
- 5
3.4 遍历文件
使用 for 循环遍历文件,「逐行读取」文件内容
file = open('a.txt', encoding='utf-8')
for text in file:
print(text)
- 1
- 2
- 3
输出:
第一行
第二行
第三行
第四行
……
- 1
- 2
- 3
- 4
- 5
3.5 关闭文件
close() 函数可以关闭文件,如果文件未关闭,对文件的「修改」可能会「不生效」
file = open('a.txt', encoding='utf-8')
print(file.read(3))
file.close()
- 1
- 2
- 3
输出:
第一行
- 1
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())
- 1
- 2
- 3
- 4
- 5
- 6
- 7
输出:
第一行新添加的内容
- 1
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())
- 1
- 2
- 3
- 4
- 5
- 6
- 7
输出:
新添加的内容
- 1
5. 删除文件
exists() 函数可以判断「文件是否存在」
remove() 函数可以根据文件名「删除文件」
import os
if os.path.exists('a.txt'):
print('文件存在,删除文件')
os.remove('a.txt')
else:
print('文件不存在,无法删除')
- 1
- 2
- 3
- 4
- 5
- 6
- 7
输出:
文件存在,删除文件
- 1
6. 删除目录
rmdir() 函数可以删除目录(文件夹)
import os
os.rmdir('mulu')
- 1
- 2
- 3
观察左侧目录,文件夹 mulu 已被删除
文章来源: blog.csdn.net,作者:士别三日wyx,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/wangyuxiang946/article/details/122268814
- 点赞
- 收藏
- 关注作者
评论(0)