我们在前面模块中汇总的函数里,有的支持对文件目录的高级操作,我们在这一节介绍一下这些函数的使用方式。
我们在使用文件或者目录的时候,总是离不开重命名操作的,有的时候我们可以选择直接创建覆盖,但是当我们已存在的文件储存大量信息的时候我们就需要重命名操作,我们使用os模块中的os.rename()方法,使用Pycharm的同学可以发现在Pyacharm中手动给文件重命名的名字也是rename,程序中重命名的格式为:
os.rename(src,dst)
src为更改的文件或者目录名,dst为新的名字。
看下面的例子:
先创建一个文件夹:
importosprint(os.getcwd())#如果不知道当前的目录,先输出找到当前的目录。os.mkdir(r'C:Users轻烟PycharmProjectsuntitled1teachnew')#注意这个r,如果存在t,n这种内容,在前面加r。
然后我们进行重命名操作:
importosos.rename(r'C:Users轻烟PycharmProjectsuntitled1teachnew',r'C:Users轻烟PycharmProjectsuntitled1teachnewname')
我们在重命名的时候都使用了绝对路径,这种方式更为严谨一点,在前面加个‘r’更好一点,‘r’在前面学习过在这里就不作过多的介绍,重命名文件和目录的方式一样,就是注意一下后缀即可。
删除文件的时候我们使用os模块中的os.remove()函数,它的语法格式为:
os.remove(path)
path为我们要删除文件的路径,可以使用相对路径或者绝对路径,严谨的使用方式是使用绝对路径,因为当需要删除的文件不在当前的工作目录下,那么将会抛出异常。
看下面代码:
运行过后:
我们采用了绝对路径和相对路径删除了当前目录下的两个文件,如果我们使用相对路径去删除非当前目录下的文件是什么情况。
代码如下:
importosos.remove('tst.py')
运行结果:
Traceback(mostrecentcalllast):FileC:/Users/轻烟/PycharmProjects/untitled1/teach/test.py,line2,in<module>os.remove('tst.py')FileNotFoundError:[WinError2]系统找不到指定的文件。:'tst.py'
因此我们在删除文件的时候最好使用绝对路径:
importosos.remove(r'C:Users轻烟PycharmProjectsuntitled1venvtst.py')
很多时候我们要通过程序去获得当前文件的一些信息,例如它的最后一次更改时间或者文件大小等。
我们使用os模块中的os.stat()方法来获取相关信息。
我们直接通过例子来学习使用这种方法:
importosfile=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轻烟PycharmProjectsuntitled1teachtest.py10109555972391580789484.6353131580789484.635313
关于文件和目录的相关操作到这里就讲完了,无论我们在使用C或者C++又或者是Java语言,项目开发的时候都离不开文件和目录的管理,在实际开发的时候涉及到的内容会更多,掌握好这些基础操作,对未来的学习有很大的帮助。