首页 > 编程语言 >Python实验报告——第10章 文件及目录操作

Python实验报告——第10章 文件及目录操作

时间:2022-11-16 17:58:57浏览次数:70  
标签:10 文件 Python file print message 实验报告 os

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

相关文章

  • Python实验报告——第8章 模块
    Python实验报告——第8章模块 实验报告【实验目的】 1.掌握Python内置的标准模块和第三方模块的使用。【实验条件】1.PC机或者远程编程环境。 【实验内容......
  • 剑指offer——Day10动态规划(中等)
    Day102022.11.16动态规划(中等)46.把数字翻译成字符串自己实现想到每种数字组成会很复杂,就放弃了,其实题目已经说了是两位数的组合,就还好。题解动态规划。首先,动态规划......
  • python JSON模块
    一、JSON介绍JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写。二、常用方法方法描述json.loads()将JSON字符串转化为Python对......
  • win10通过网线共享网络
    前提条件:A电脑的wifi有网,有线网卡没网;B电脑wifi和有线网卡都没网注:A电脑为win10;B电脑为linux系统,因内核不支持wifi驱动所以只能使用有线网卡 需求:将A电脑的wifi网络,通......
  • python垃圾回收机制
    python垃圾回收机制主要分为:1.引用计数2.标记清除3.分代回收python的引用计数机制:python是根据对象的引用计数是否为0,来进行垃圾回收,释放内......
  • ASEMI整流桥UD6KB100,UD6KB100尺寸,UD6KB100特征
    编辑-ZASEMI整流桥UD6KB100参数:型号:UD6KB100最大重复峰值反向电压(VRRM):1000VRMS反向电压VR(RMS):700平均整流输出电流(IO):6A峰值正向浪涌电流(IFSM):125A每个元件的典型热......
  • python的文件操作
    步骤1、打开文件:使用内置函数open2、进行操作(读或者写)读:read方法或者写:write方法3、关闭文件close方法#1、打开文件,返回文件的句柄f=open(file="xxx",mode=......
  • python源码通过词语标记化器tokenize提取注释并正则匹配测试用例作者名
    提取代码如下importtokenizeimportrewithtokenize.open('readcomment.py')asf:list=[]fortoktype,tok,start,end,lineintokenize.generate_t......
  • STM32F103的一些知识
    一、前言为了方便理解和查阅本人所需的知识,在此做笔记。知识点来源书本与网络,如有侵权,联系删除。二、GPIO定义一个GPIO_InitTypeDef类型结构体GPIO_InitTypeDefGPI......
  • python 3.6下 安装mysqlclient
    倒腾了大半天,终于把mysqlclient安装成功,赶紧把步骤进行梳理并记录1、python安装好以后,首先要看一下自己的python是32还是64位的,这关系到你下载的mysqlclient。查看方法:......