- 视频、源码、课件、软件、笔记:超全面Python基础入门教程【十天课程】博客笔记汇总表【黑马程序员】
Python基础day07【文件读写、文件夹操作、面向对象(类、对象)】
目录
加强训练
题目1 [加强训练]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
题目2 [加强训练]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
题目3 [加强训练]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
综合训练
题目4 [综合训练1]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
题目5 [综合训练2]
题干
训练目标
训练提示
参考方案
操作步骤
参考答案
使用文件操作,向movie.txt文件中写入一下内容:
功夫,周星驰
一出好戏,黄渤
我不是药神,徐峥
文件的写操作。
如何往一个文件里面写入数据;
写入的数据换行使用什么方法。
打开文件
open()
,打开方式为"w"
写入文件
write()
换行使用
"\n"
也可以使用
""" """
三个引号的形式,可以直接在代码里书写换行
打开文件,创建对象
写入信息
关闭文件
# 第1种方式
# 因为编码格式的问题,我们为了防止出现乱码,需要在这里设置encoding="utf8"
f = open("movie.txt", "w", encoding="utf8")
f.write("功夫,周星驰\n一出好戏,黄渤\n我不是药神,徐峥")
f.close()
# 第2种方式
f = open("movie.txt", "w", encoding="utf8")
f.write("""功夫,周星驰
一出好戏,黄渤
我不是药神,徐峥""")
f.close()
将第一题创建好的文件打开,并读取内容, 要求如下:
一次全部读取
每次读取一行
文件的读操作
如何读取文件内容?
读取全部内容的方法?
每次读取一行的方法?
打开文件open,打开方式为“r”
读取文件read()
读取一行readline()
读取所有行readlines()
打开文件(使用r方式打开,如果不写那么默认是只读方式打开)
读取信息
关闭文件(每次操作完文件后要关闭文件)
# 第1种方式
# 注意编码格式问题
f = open("movie.txt", 'r', encoding="utf8")
content = f.read()
f.close()
print(content)
# 第2种方式
f = open("movie.txt", 'r', encoding="utf8")
content = f.readlines()
f.close()
# 读取后的内容是一个列表,注意列表中的数据中有一个"\n"。如果使用需要处理
print(content)
# 第3种方式
f = open("movie.txt", 'r', encoding="utf8")
# 因为readline 每次读取一行,需要我们使用循环读取
while True:
content = f.readline()
# 当我们读取的内容是空字符的时候跳出循环
if content == "": # if content:
break
print(content)
f.close()
使用os模块创建一个名为“黑马”的文件夹
获取黑马文件夹当前所在目录
获取当前的目录列表
改变文件的操作路径
将黑马文件夹删除
os模块的使用
os模块基础命令的使用
创建文件mkdir
当前所在目录getcwd
当前的目录列表listdir
改变文件的操作路径chdir
删除文件夹rmdir
import os
# 01.创建文件mkdir
os.mkdir("黑马")
# 02.当前所在目录getcwd
os.getcwd()
# 03.当前的目录列表listdir
os.listdir("./")
# 04.改变文件的操作路径chdir
os.chdir("../")
# 05.删除文件夹rmdir
os.rmdir("黑马")
编写一段代码以完成两份文件之间的相互备份
提示用户输入文件名。例:gailun.txt
创建以用户输入的名字的文件
打开文件写入如下信息
功夫,周星驰
一出好戏,黄渤
我不是药神,徐峥
将输入的数据输出到终端上
在文件夹中创建gailun副本.txt文件
将gailun.txt文件中的数据写入gailun副本.txt文件中
打开文件,查看文件中内容
文件的综合使用
每次操作完文件需要关闭
在windows系统中注意编码格式问题
需要自己重新定义一个新的文件名
操作步骤一
提示用户输入文件名
打开文件
写入信息
关闭文件
打开文件
读取文件中的信息
操作步骤二
提取文件名的后缀
组建新的文件名
操作步骤三
打开新组建的文件名字的文件
写入文步骤一中读取到的信息写入到新的文件中
关闭文件
操作步骤四
打开新的文件
读取文件中的内容
关闭文件
# 提示输入文件
oldFileName = input("请输入要创建的文件名:")
# 以写的方式打开文件
oldFile = open(oldFileName, 'w', encoding="utf8")
oldFile.write("功夫,周星驰\n一出好戏,黄渤\n我不是药神,徐峥")
oldFile.close()
# 打开文件
f = open(oldFileName, 'r', encoding="utf8")
# 读取文件内容
context = f.readlines()
print(context)
f.close()
# 提取文件名的后缀
fileFlagNum = oldFileName.rfind('.')
# 确定文件名中有没有后缀, rfind()找到内容返回正数下标;没有找到,返回-1
if fileFlagNum > 0:
fileFlag = oldFileName[fileFlagNum:]
# 组织新的文件名字
newFileName = oldFileName[:fileFlagNum] + '复本' + fileFlag
# 创建新的文件副本
newFile = open(newFileName, 'w', encoding="utf8")
for lineContent in context:
print(lineContent)
newFile.write(lineContent)
newFile.close()
# 打开写入的新文件
f = open(newFileName, "r", encoding="utf8")
# 读取内容
context = f.read()
# 输入到终端
print(context)
# 关闭文件
f.close()
创建一个新项目中新创建一个名字py文件夹;
进入py文件夹中创建5个文件,文件名分别为python基础班-1.txt、python基础班-2.txt、python基础班-3.txt、python基础班-4.txt、python基础班-5.txt;
然后将py文件夹中的所有文件都改名为[黑马]python基础班-1.txt、[黑马]python基础班-2.txt、[黑马]python基础班-3.txt、[黑马]python基础班-4.txt、[黑马]python基础班-5.txt。
os模块的综合使用
首先创建文件夹,创建文件
然后,获取当前文件夹下所有文件
最后进行重命名
创建文件夹mkdir
进入文件夹中chdir
获取文件夹中所有的文件listdir
重命名rename
第一部分
创建文件夹
进入文件夹中
循环遍历创建五个文件,每创建一个后关闭文件
第二部分
获取文件夹中所有的文件
遍历获取后的文件,并修改文件名称
# 第一部分
import os
# 创建文件夹
os.mkdir("py")
# 进入py文件夹中
os.chdir("py")
# 创建5个文件
for i in range(1, 6):
f = open("python基础班-%d.txt" % i, "w")
f.close()
# 第二部分
# 进入py文件夹中,由于上边代码中已经进入到“py”文件夹里面,这里就不用再次进入了
# os.chdir("py")
# 获取py文件夹中所有的文件
filename_list = os.listdir()
# 遍历文件
for file_name in filename_list:
# 进行修改
new_file_name = "[黑马]" + file_name
os.rename(file_name, new_file_name)