Python实验报告——第10章 文件及目录操作
实验报告
【实验目的】
1.掌握Python自带的函数进行基本文件操作。
2.掌握Python内置的os模块及其子模块os.path进行目录相关的操作。
【实验条件】
1.PC机或者远程编程环境。
【实验内容】
1.完成第十章 文件及目录操作 实例01-06,实战一到实战二
实例01:创建并打开记录蚂蚁庄园动态的文件
在IDLE中创建一个名称为 antmanor_message.py 的文件,然后在该文件中,首先输出一条提示信息,然后再调用open()函数创建或打开文件,最后再输出一条提示信息。
代码如下:
1 print("\n", "="*10, "蚂蚁庄园动态", "="*10) 2 file = open('message.txt', 'w') 3 print("\n 即将显示......\n")
运行结果如下:
实例02:向蚂蚁庄园的动态文件写入一条信息
在 IDLE中创建一个名称为 antmanor_message_w.py的文件,然后在该文件中,首先应用open()函数以写方式打开一个文件,然后再调用write()方法向该文件中写入一条动态信息,再调用close()方法关闭文件。
代码如下:
1 print("\n", "="*10, "蚂蚁庄园动态", "="*10) 2 file = open('message.txt', 'w') 3 #写入动态信息 4 file.write("你使用了1张加速卡,小鸡擅起袖子开始双手吃饲料,进食速度大大加快。\n") 5 print("\n 写入了一条动态......\n") 6 file.close() #关闭文件对象 7 8 print("\n", "="*10, "蚂蚁庄园动态", "="*10) 9 file = open('message.txt', 'a') 10 #追加一条动态信息 11 file.write("mingri的小鸡在你的庄园待了22分钟,吃了6g饲料之后,被你赶走了。\n") 12 print("\n 追加了一条动态......\n") 13 file.close()
运行结果如下:
实例03:显示蚂蚁庄园的动态
在IDLE中创建一个名称为antmanor_message_r.py 的文件,然后在该文件中,首先应用open()函数以只读方式打开一个文件,然后再调用read()方法读取全部动态信息,并输出。
代码如下:
1 print("\n", "="*25, "蚂蚁庄园动态", "="*25) 2 with open('message.txt', 'r') as file: #打开保存蚂蚁庄园动态信息的文件 3 message = file.read() #读取全部动态信息 4 print(message) 5 print("\n", "="*29, "over", "="*29, "\n")
运行结果如下:
实例04:逐行显示蚂蚁庄园的动态
在IDLE中创建一个名称为 antmanor_message_rl.py的文件,然后在该文件中,首先应用open()函数以只读方式打开一个文件,然后应用while 语句创建循环,在该循环中调用readline()方法读取一条动态信息并输出,另外还需要判断内容是否已经读取完毕,如果读取完毕应用 break 语句跳出循环。
代码如下:
1 print("\n", "="*35, "蚂蚁庄园动态", "="*35) 2 with open('message.txt', 'r') as file: #打开保存蚂蚁庄园动态信息的文件 3 number = 0 4 while True: 5 number += 1 6 line = file.readline() 7 if line == '': #空白行 8 break 9 print(number, line, end="\n") #输出一行内容 10 print("\n", "="*39, "over", "="*39, "\n")
运行结果如下:
实例05:遍历指定目录
在IDLE中创建一个名称为walk_list.py 的文件,首先在该文件中导入os模块,并定义要遍历的根目录,然后应用for 循环遍历该目录,最后循环输出遍历到文件和子目录。
代码如下:
1 import os 2 path = "D:\\java" #指定要遍历的根目录 3 print("【", path,"】目录下包括的文件和目录:") 4 for root, dirs, files in os.walk(path, topdown=True): #遍历目录 5 for name in dirs: 6 print("O", os.path.join(root, name)) 7 for name in files: 8 print("O", os.path.join(root, name))
运行结果如下:
实例06:获取文件基本信息
在IDLE中创建一个名称为fileinfo.py的文件,首先在该文件中导入os模块,然后调用os模块的stat()函数获取文件的基本信息,最后输出文件的基本信息。
代码如下:
1 import os 2 fileinfo = os.stat("message.txt") #获取文件的基本信息 3 print("文件完整路径:", os.path.abspath("message.txt")) #获取文件的完整数路径 4 #输出文件的基本信息 5 print("索引号:", fileinfo.st_ino) 6 print("设备名:", fileinfo.st_dev) 7 print("文件大小: ", fileinfo.st_size, "字节") 8 print("最后一次访问时间: ", fileinfo.st_atime) 9 print("最后一次修改时间: ", fileinfo.st_mtime) 10 print("最后一次状态变化时间:", fileinfo.st_ctime)
运行结果:
实战一:根据当前时间创建文件
在指定目录中,批量创建文件,文件名为%Y%m%d%H%M%S格式的当前时间(精确到秒)。例如,创建文件的时间为2018年4月18日9点18分38秒,则该文件的文件为20180418091838.txt。为了防止出现重名的文件,在每创建一个文件后,让线程休眠一秒。效果如图10.30和图10.31所示。
代码如下:
1 import time 2 import os 3 import datetime 4 num = int(input("请输入需要生成的文件数:")) 5 for i in range (num): 6 # 获取当前时间 7 t = datetime.datetime.now() 8 9 path = "D:\PyCharm2020(64bit)" 10 # 对现在的时间格式化,作为文件名 11 file = os.path.join(path, t.strftime('%Y%m%d%H%M%S')+'.txt') 12 open(file, 'w') 13 time.sleep(1) #休眠1s 14 i += 1 15 print("file " + str(i) + ":" + str(file)) 16 print("生成文件成功!")
运行结果如下:
实战二:批量添加文件夹
在指定的目录中,批量创建指定个数的文件夹(即目录),效果如图10.32和图10.33所示。
代码如下:
1 import os 2 num = int(input("请输入需要生成的文件数:")) 3 for i in range(num): 4 path = "D:\PyCharm2020(64bit)" 5 if not os.path.exists('{}'.format(i + 1)): 6 os.mkdir('{}'.format(i + 1)) 7 print("文件夹{}".format(i + 1) + "创建成功!")
运行结果如下:
标签:10,文件,Python,file,print,message,实验报告,os From: https://www.cnblogs.com/lxy1600692761/p/16896804.html