我们在前面模块中汇总的函数里,有的支持对文件目录的高级操作,我们在这一节介绍一下这些函数的使用方式。

1. 重命名

我们在使用文件或者目录的时候,总是离不开重命名操作的,有的时候我们可以选择直接创建覆盖,但是当我们已存在的文件储存大量信息的时候我们就需要重命名操作,我们使用os模块中的os.rename()方法,使用Pycharm的同学可以发现在Pyacharm中手动给文件重命名的名字也是rename,程序中重命名的格式为:

os.rename(src,dst)

src为更改的文件或者目录名,dst为新的名字。

看下面的例子:

先创建一个文件夹:

import os
print(os.getcwd())#如果不知道当前的目录,先输出找到当前的目录。
os.mkdir(r'C:\Users\轻烟\PycharmProjects\untitled1\teach\new')#注意这个r,如果存在\t,\n这种内容,在前面加r。

 python文件3

然后我们进行重命名操作:

import os
os.rename(r'C:\Users\轻烟\PycharmProjects\untitled1\teach\new',r'C:\Users\轻烟
\PycharmProjects\untitled1\teach\newname')

 python文件4

我们在重命名的时候都使用了绝对路径,这种方式更为严谨一点,在前面加个‘r’更好一点,‘r’在前面学习过在这里就不作过多的介绍,重命名文件和目录的方式一样,就是注意一下后缀即可。

2. 删除文件

删除文件的时候我们使用os模块中的os.remove()函数,它的语法格式为:

os.remove(path)

path为我们要删除文件的路径,可以使用相对路径或者绝对路径,严谨的使用方式是使用绝对路径,因为当需要删除的文件不在当前的工作目录下,那么将会抛出异常。

看下面代码:

 python文件5

运行过后:

 python文件6

我们采用了绝对路径和相对路径删除了当前目录下的两个文件,如果我们使用相对路径去删除非当前目录下的文件是什么情况。

代码如下:

import os
os.remove('tst.py')

运行结果:

Traceback (most recent call last):
  File "C:/Users/轻烟/PycharmProjects/untitled1/teach/test.py", line 2, in <module>
    os.remove('tst.py')
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'tst.py'

因此我们在删除文件的时候最好使用绝对路径:

import os
os.remove(r'C:\Users\轻烟\PycharmProjects\untitled1\venv\tst.py')

3. 文件的基本信息

很多时候我们要通过程序去获得当前文件的一些信息,例如它的最后一次更改时间或者文件大小等。

我们使用os模块中的os.stat()方法来获取相关信息。

我们直接通过例子来学习使用这种方法:

import os
file = os.stat('test.py')
print(os.path.abspath('test.py'))#先访问路径
print(file.st_dev)#设备号
print(file.st_size)#文件大小
print(file.st_atime)#最后一次访问
print(file.st_mtime)#最后一次修改时间

输出结果为:

C:\Users\轻烟\PycharmProjects\untitled1\teach\test.py
1010955597
239
1580789484.635313
1580789484.635313

4. 总结

关于文件和目录的相关操作到这里就讲完了,无论我们在使用C或者C++又或者是Java语言,项目开发的时候都离不开文件和目录的管理,在实际开发的时候涉及到的内容会更多,掌握好这些基础操作,对未来的学习有很大的帮助。


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)