python3文件操作相关模块

发布时间:2019-09-25 08:15:48编辑:auto阅读(1418)

    os模块:

    os.curdir
    '.'

    os.pardir
    '..'

    os.sep #路径分隔符,不同的操作系统看到的结果不一样
    '/'

    os.linesep #换行符,不同的操作系统看到的也不一样,windox
    '\n'

    os.getcwd() #获取当前路径
    '/root/桌面/111'

    os.listdir() #获取当前目录的内容,相当于ls

    os.listdir('/') #获取指定目录的内容

    os.chdir('/tmp') #切换目录

    os.mkdir('1221') #创建文件,以相对路径创建文件,创建在切换后的路径下。

    os.mknod('test.txt') #创建文件

    os.symlink('/etc/hosts', 'zhuji') #创建软连接

    os.chmod()    #待研究,与python2的数字授权不同
    
    os.path.<两次TAB键>    #
        >>> os.path.dirname('/home/abc/xyz')    #切割,去除右边的名字
            '/home/abc'
        >>> os.path.split('/etc/rsync.conf')    #返回全部名称段
            ('/etc', 'rsync.conf')
        >>> os.path.splitext('abc.txt')     #切割扩展名
            ('abc', '.txt')
        >>> os.path.join('/home/abc', 'xyz')    #拼接字段
            '/home/abc/xyz'
        >>> os.path.isfile('/etc/hosts')    #是文件返回True
            True
        >>> os.path.isdir('/etc')   #是目录返回Ture
            True
        >>> os.path.islink('/etc/grub.cfg')     #判断是不是快捷方式,是返回Ture
            False
    
        >>> os.path.exists('/etc')  #判断,存在及返回True
            True
        >>> os.path.basename('/home/abc/xyz')   #保留最右边文件名
            'xyz'

    shutil模块:(大概是文件操作的模块)
    删除、拷贝
    shutil.rmtree('/opt/mypy') #删除有文件的目录

    拷贝文件:
    >>> shutil.copy2('/etc/passwd', '/opt/test')    #保留权限拷贝,cp -r
        '/opt/test/passwd'
    >>> os.listdir('/opt/test')
        ['passwd']
    
    shutil.copyfile('/etc/hosts', '/opt/1234.txt')  #拷贝文件内容,有则覆盖,没有创建
    
    shutil.copytree('/var', '/opt/1234')  #拷贝目录,有则拷贝,有相同文件报错,带创建目录功能
    
    移动:
    >>> shutil.move('/opt/test/passwd', '/opt/123')

    cPickle模块:
    可以把任意对象存储在文件中。(字符串、列表、字典等)

    使用pickle.dump将对象(dict)存储在文件中,
    >>> import pickle
    >>> dict = {'name':'azj', 'age':26}
    >>> f = open('/tmp/aa.txt', 'wb')
    >>> pickle.dump(dict,f)
    >>> f.close()
    
    将文件中的字典使用pickle.load读取出来。结构没有变化,可以使用key读取到value
    >>> f = open('/tmp/aa.txt', 'rb')
    >>> data = pickle.load(f)
    >>> f.close()
    >>> data
    {'name': 'azj', 'age': 26}
    >>> data['name']
    'azj'

关键字