首页  /  Python教程  /  高级文件操作  /  

高级文件操作

点击打开在线编译器,边学边练

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

    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。

 图片5.png

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

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

 图片6.png

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

    2. 删除文件

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

os.remove(path)

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

        看下面代码:

 图片7.png

        运行过后:

 图片8.png

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

        代码如下:

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语言,项目开发的时候都离不开文件和目录的管理,在实际开发的时候涉及到的内容会更多,掌握好这些基础操作,对未来的学习有很大的帮助。


本文固定URL:https://www.dotcpp.com/course/283

上一课:目录管理
第一章 人生苦短,我用Python
第二章 Python基础语法
第三章 Python入门语法
第四章 Python核心语法
第五章 函数
第六章 面向对象编程
第七章 模块
第八章 异常处理和程序调试
第九章 文件及目录操作
第十章 GUI编程
第十一章 进程和线程
第十二章 数据库管理
第十三章 算法
第十四章 爬虫
第十五章 实战篇
第十六章 后记
Dotcpp在线编译      (登录可减少运行等待时间)