美文网首页
文件系统

文件系统

作者: MikeCorleonefan | 来源:发表于2018-05-20 22:54 被阅读0次

    对于文件系统的访问,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的文件,用记事本打开如下图

    文件系统

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

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

    #p8_4.py

    import pickle

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

    my_list = pickle.load(pickle_file)

    print(my_list)

    文件系统

    相关文章

      网友评论

          本文标题:文件系统

          本文链接:https://www.haomeiwen.com/subject/tkdxjftx.html