文件系统

对于文件系统的访问,python一般是通过OS(操作系统)模块实现的。python作为跨平台的语言,在不同的操作系统可以使用同样的源代码而不需要修改。

    OS模块中关于文件/目录常用的函数使用方法:

getcwd() 返回当前工作目录

>>> import os

>>> os.getcwd()

'D:\\python3.6.4\\Lib\\idlelib'

chdir(path)改变工作目录

>>> os.chdir("D:\代码\python")

>>> os.getcwd()

'D:\\代码\\python'

listdir(path=’.’)列举指定目录中的文件名(‘.’表示当前目录,’..’表示上一级目录)

>>> os.listdir()

mkdir(path)创建单层目录,如该目录已存在抛出异常

makedirs (path)用于创建多层目录

  >>>os.makedirs(r”.\a\b\c”)

remove(path)用于删除指定文件,rmdir(path)用于删除目录,removedirs(path)用于删除多层目录

rename(old,new)用于重命名文件或文件夹

>>> os.rename("信息安全.txt","security.txt")

system(command)用于使用OS提供的小工具

walk(top) 用于遍历top参数指定路径下的所有子目录,并将结果返回一个三元组(路径,[包括目录],[包含文件])

另外path模块提供了一些实用的定义:os.curdir表示当前目录;os.pardir表示上一级目录(‘..’);os.sep表示路径的分隔符;os.linesep表示当前平台使用的行终止符;os.name表示当前使用的操作系统。

用于获得文件名basename();用于获得路径名dirname()

>>> os.path.dirname(r"D:\\代码\\python\#p2_1.py")

'D:\\\\代码\\\\python'

>>> os.path.basename(r"D:\\代码\\python\#p2_1.py")

'#p2_1.py'

用于将路径名和文件名组合成一个完整的路径os.path.join()

>>> os.path.join(r"D:\\代码\\python","#p2_1.py")

'D:\\\\代码\\\\python\\#p2_1.py'

分割路径和文件名split();分割文件名和扩展名splitext()

获取文件的尺寸(返回值以字节为单位)getsize(file)

获取文件最近访问时间getatime();创建时间getctime();修改时间getmtime()。其返回值均为float型秒数,可用time模块的gmtime()或localtime()函数换算。



将所有的python对象转化为二进制的形式存放,该过程称为pickling,从二进制形式转换回对象的过程称为unpickling

#p8_3.py

import pickle

my_list = [123,3.14,'坚持',['another list']]

pickle_file = open('E:\\my_list.pk1','wb')

pickle.dump(my_list,pickle_file) #使用dump保存数据

pickle_file.close()

程序执行后会在E盘保存一个my_list.pk1的文件,用记事本打开如下图

文件系统_第1张图片
图片发自App


其显示乱码(因为保存的是二进制形式)

那么在使用时只需用二进制模式先把文件打开,然后用load把数据加载进来:

#p8_4.py

import pickle

pickle_file = open("E:\\my_list.pk1","rb")

my_list = pickle.load(pickle_file)

print(my_list)

文件系统_第2张图片
图片发自App

你可能感兴趣的:(文件系统)