zoukankan      html  css  js  c++  java
  • 文件和目录的相关操作

    文件和目录的相关操作

    1)用open()来创建文件
    下面来创建一个oops.txt的文本文件

    >>> fout=open('oops.txt','wt')
    >>> fout.write('i create a file')
    >>> fout.close()
    

    下面用这个文件来做一些测试:
    用exists()检查文件是否存在
    判断文件或目录是否存在,可使用exists(),传入相对或绝对路经名

    >>> import os
    >>> os.path.exists('oops.txt')
    True
    >>> os.path.exists('mimi')
    False
    

    用isfile()检查文件是否为文件
    检查是否为文件‘

    >>> name='oops.txt'
    >>> os.path.isfile(name)
    True
    >>> os.path.isdir(name) 检查是否为目录
    False
    

    用copy()复制文件
    Copy()函数来自另一个模块,下面的例子把oops.txt复制到ohno.txt

    >>> import shutil
    >>> shutil.copy('oops.txt','ohno.txt')
    
    

    Shutil,move()函数会复制一个文件并删除原始文件

    用rename()重命名文件
    下面的例子把ohno.txt重命名为ohwell.txt文件

     >>> import os
    >>> os.rename('ohno.txt','ohwell.txt')
    

    用link()或者symlink()来创建链接
    下面把文件oops.txt硬链接到一个新文件yikes.txt

    >>> os.link('oops.txt','yikes.txt')
    >>> os.path.isfile('yikes.txt')
    True
    

    用chmod()修改权限
    下面如阿个oops.txt文件只能被拥有者读

    >>> os.chmod('oops.txt',0o400)
    >>> 
    

    用chown()来修改所有者

    >>> uid=5
    >>> gid=22
    >>> os.chown('oops.txt',uid,gid)
    

    用abspath()获取路径名
    这个函数会把一个相对路径扩展成绝对路径

    >>> os.path.abspath('oops.txt')
    '/mnt/420/oops.txt'
    

    用realpath()获取符号的路径名

    >>> os.path.realpath('yikes.txt')
    '/mnt/420/yikes.txt'
    

    用remove()删除文件

    >>> os.remove('oops.txt')
    >>> os.path.exists('oops.txt')
    False
    

    【目录】
    使用mkdir()创建目录

    >>> os.mkdir('poems')
    >>> os.path.exists('poems')
    True
    

    使用rmdir()删除目录

    >>> os.rmdir('poems')
    >>> os.path.exists('poems')
    False
    

    使用listdir()列出目录的内容

    >>> os.listdir('poems')
    []
    >>> os.mkdir('poems/mcintyre')
    >>> os.listdir('poems')
    ['mcintyre']
    

    使用chdir()修改当前目录
    可以使用这个函数从一个目录跳转到另外一个目录,

    >>> os.chdir('poems')
    >>> os.listdir('.')
    ['mcintyre']
    

    使用glob()列出匹配文件
    Glob()函数会使用shell规则来匹配文件或者目录,而不是更复杂的正则表达式。

    • 会匹配任意名称(re中是.*)
      ? 会匹配一个字符
      [abc]会匹配字符a,b,c
      [!abc]会匹配除了a,b,c

    获取以m开头的文件或目录

    >>> import glob
    >>> glob.glob('m*') 
    ['mcintyre']
    

    获取所有名字为两个字符的文件和目录

    >>> glob.glob('??')
    []
    

    获取名称为8个字并且以m开头和以e结尾的文件和目录

    >>> glob.glob('m??????e')
    ['mcintyre']
    >>> glob.glob('[klm]*e') #获取所有以k,l,或者m开头并且以e结尾的文件或目录
    ['mcintyre']
    
  • 相关阅读:
    vue.js引用出错-script代码块放在head和body中的区别
    Notes:一致性哈希算法
    TCP为什么不是两次握手而是三次?
    windows上SSH服务连接远程主机失败
    Centos安装vsftp服务
    使用JavaMail实现发送邮件功能
    在进行javaIO写文件操作后文件内容为空的情况
    Struts2---动态方法调用
    golang的吐槽
    select函数源码阅读
  • 原文地址:https://www.cnblogs.com/hanfei-1005/p/5704377.html
Copyright © 2011-2022 走看看