首页 > 其他分享 >文件及目录操作

文件及目录操作

时间:2023-01-05 19:45:19浏览次数:48  
标签:文件 name file print 操作 message os 目录

 

一、实验目的和要求

1、学会基本文件操作;

2、学会目录操作;

3、学会高级文件操作。

二、实验环境

软件版本:Python 3.10 64_bit

三、实验过程

1、实例1:创建并打开记录蚂蚁庄园动态的文件

(1)在IDLE中创建一个名称为antmanor_message.py的文件,然后在该文件中,首先输出一条提示信息,然后再调用open()函数创建或打开文件,最后再输出一条提示信息。代码如下:

1 print("\n","="*10,"蚂蚁庄园动态","="*10)
2 file = open("message.txt",'w')      # 创建或打开保存蚂蚁庄园动态信息的文件
3 print("\n 即将显示……\n")

(2)运行结果如图所示:

 

 

2、实例2:向蚂蚁庄园的动态文件写入一条信息

(1)在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 file.write("你使用了1张加速卡,小鸡撸起袖子开始双手吃饲料,进食速度大大加快。\n")
6 print("\n 写入了一条动态……\n")
7 file.close()                        # 关闭文件对象
复制代码

(2)运行结果如图所示:

 

3、实例3:显示蚂蚁庄园的动态

(1)在IDLE中创建一个名称为antmanor_message_r.py的文件,然后在该文件中,首先应用open()函数以只读方式打开一个文件,然后再调用read()方法读取全部动态信息,并输出。代码如下:

复制代码
1 print("\n","="*25,"蚂蚁庄园动态","="*25,"\n")
2 with open("message.txt","r") as file:   # 打开保存蚂蚁庄园动态信息的文件
3     message = file.read()               # 读取全部动态信息
4     print(message)                      # 输出动态信息
5     print("\n","="*29,"over","="*29,"\n")
复制代码

(2)运行结果如图所示:

 

4、实例4:逐行显示蚂蚁庄园的动态

(1)在IDLE中创建一个名称为antmanor_message_rl.py的文件,然后在该文件中,首先应用open()函数以只读方式打开一个文件,然后应用while语句创建循环,在该循环中调用readline()方法读取一条动态信息并输出,另外还需要判断内容是否已经读取完毕,如果读取完毕应用break语句跳出循环。代码如下:

复制代码
 1 print("\n","="*35,"蚂蚁庄园动态","="*35,"\n")
 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")
复制代码

(2)运行结果如图所示: 

 

 

5、实例5:遍历指定目录

(1)在IDLE中创建一个名称为walk_list.py的文件,首先在该文件中导入os模板,并定义要遍历的根目录,然后应用for循环遍历该目录,最后循环输出遍历到文件和子目录。代码如下:

复制代码
1 import os                                               # 导入os模板
2 path = "E:\\test\\section9"                             # 指定要遍历的根目录
3 print("【",path,"】目录下包括的文件和目录")
4 for root,dirs,files in os.walk(path,topdown = True):    # 遍历指定目录
5     for name in dirs:                                   # 循环输出遍历到的子目录
6         print("●",os.path.join(root,name))
7     for name in files:                                  # 循环输出遍历到的文件
8         print("◎",os.path.join(root,name))
复制代码

(2)运行结果如图所示:

 

6、实例6:获取文件基本信息

(1)在IDLE中创建一个名称为fileinfo.py的文件,首先在该文件中导入os模板,然后调用os模板的stat(0函数获取文件的基本信息,最后输出文件的基本信息。代码如下:

复制代码
 1 import os                                               # 导入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)
复制代码

(2)运行结果如图所示:

 

7、实战一:根据当前时间创建文件

(1)在当前目录中批量创建文件,文件名为%Y%m%d%H%M%S格式的当前时间(精确到秒)。例如,创建文件的时间为2018年4月18日9点18分38秒,则该文件的文件为201841891838.txt。为防止出现重名文件,在每创建一个文件后,让线程休眠一秒。代码如下:

复制代码
 1 import time
 2 def create():
 3     global name
 4     localTime = time.strftime("%Y%m%d%H%M%S", time.localtime())
 5     name = localTime + '.txt'
 6     with open(name,'a') as file:
 7         pass 
 8 if __name__ == '__main__':    
 9     amount = int(input('请输入需要生成的文件数:'))
10     for i in range(amount):
11         create()
12         print('file ' + str(i+1) +':' + name)
13         time.sleep(1)
14     print('生成文件成功!')
复制代码

(2)运算结果如图所示:

 

 

8、实战二:批量添加文件夹

(1)在指定的目录中,批量创建指定个数的文件夹(即目录)。代码如下:

复制代码
 1 import os
 2 path = 'E:\\section10sz2\\'
 3 def folders(number):
 4     for i in range(1, number + 1):
 5         folder_name = path + str(i)
 6         if os.path.exists(folder_name):
 7             print("already exist")
 8         else:
 9             os.makedirs(folder_name)
10             if os.path.exists(folder_name):
11                 print("文件夹" + str(i) + "创建成功!")
12 if __name__ == '__main__':
13     number = int(input("请输入需要生成的文件夹个数:"))
14     folders(number)
复制代码

(2)运行结果如图所示:

标签:文件,name,file,print,操作,message,os,目录
From: https://www.cnblogs.com/wjtaowululalala/p/17028699.html

相关文章

  • 实现简单的csv文件上传和bootstrap表格的下载
    一、写一个简单的页面并发送文件引入bootstrap.js,jQuery.js等,具体的网页就不细写了,很简单。加入input框,button控件,进度条。如下:<liclass="list-group-item"......
  • 第11章:使用Python操作数据库
      一、实验目的和要求1、学会数据库编程接口;2、学会使用SQLite;3、学会使用MySQL。二、实验环境软件版本:Python3.1064_bit三、实验过程1、实例1:创建SQLite......
  • git忽略提交特定文件(.idea/workspace.xml)
    参考链接:https://www.cnblogs.com/lizexiong/p/16444830.html1.背景在用git拉取代码时或者提交代码时,在提交时出现modified:.idea/workspace.xml 或拉取代码时出现......
  • C++实现有序表--链表的合并操作代码
    #include<iostream>#include<cstdlib>usingnamespacestd;#defineMAXSIZE100#defineOK1#defineERROR0typedefintElemtype;typedefintStatus;typedefstructLNo......
  • SpringMVC实现浏览器端大文件分片上传
    ​ 最近遇见一个需要上传超大大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。在某些业务中,大文件上传是一个比较重要的......
  • 查看AIX操作系统CPU和内存
    转:https://blog.csdn.net/oradbm/article/details/124565324一、AIX下查看CPU1.查询AIX的硬件信息prtconf 12.查看逻辑CPU个数#pmcycles-m CPU0runsat4204MHz C......
  • python 动态导入文件的方法
    简介在实际项目中,我们可能需要在执行代码的过程中动态导入包并执行包中的相应内容,通常情况下,我们可能会将所需导入的包及对象以字符串的形式传入,例如test.test.run,下面将......
  • windows,linux下SVN实现自动更新WEB目录
    通过SVN进行版本库管理,每次提交后,都要在SVN服务器更新最新上传的版本到WEB目录进行同步。操作比较烦琐,而且效率也低。使用SVN钩子脚本进行WEB目录同步,可很好的解决这方面的......
  • Conda安装py3spark环境操作
    查看虚拟环境condaenvlist创建虚拟环境condacreate-npy3sparkpython=3.6删除虚拟环境以及虚拟环境中所有包condaremove-npy3spark--all在虚拟环境中安装包......
  • HTML5实现浏览器端大文件分片上传
    ​ 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数下面直接贴代码吧,一些难懂的我大部分都加上......