• Python之文件操作:文件、目录的操作


    一、创建
    1、创建文件
    open(path,'w')
    2、创建目录
    (1)os.mkdir(pt[, mode=0777])
    新建一个目录pt,参数mode表示生成的目录的权限,默认是超级权限,也就是0777。
    (2)os.makedirs(pt) 创建多级目录 比如在python目录下创建 1 2 3
    3、创建临时文件
    os.tmpfile() 已“w+b”的模式创建并打开一个临时文件。
    缓存在内存中,不占用内存空间。用完不用删除,close()之后就不存在了
    fp=os.tmpfile()
    fp.write('fjwioe')
    fp.seek(0)
    print fp.read()
    fp.close()
     
    二、删除
    1、删除文件
    os.remove(‘e:\tmp\01.txt’) 删除一个文件
    删除一个指定的文件,参数filePath表示文件所在的路径。
    注意:该方法只能删除文件,不能删除目录。
    2、删除目录
    (1)os.rmdir()
    删除单级空目录,若目录不为空则无法删除,会报错
    (2)os.removedirs('e:\python\t1\t2\t3')删除多级目录
     
    三、文件和目录的复制和移动
    import shutil
    复制或者移动一个文件,目录结构
    1、shutil.copyfile(path1,path2) 复制文件
    把文件path1的内容copy到文件path2中
    2、shutil.move(path1,path2) 移动文件,文件夹
    把文件path1移动到path2下
    3、shutil.copy(path1,path2) 复制文件,文件夹
    把文件path1复制到path2下
    4、shutil.copytree(path1,path2) 复制整个目录结构
    把path1 目录整个复制到path2下
    5、shutil.rmtree( src )
    递归删除一个目录以及目录内的所有内容
     
    四、遍历文件和目录
    1、os.walk(top,topdown=True,oneerror=None,folowlinks=False)
    top:根节点
    followlinks:一般不用
    topdown=true 自顶而下的遍历
    oneerror:没有值的时候,出现错误还会继续遍历
    遍历文件和目录,返回结果是一个元祖类型
    for i,j,k in os.walk('d:\tmp')
    i:返回当前的目录根节点
    j:当前结点的下的所有目录
    k:当前结点下的所有文件
    没有值得情况,返回[]
    eg:
    for i,j,k in os.walk('d:\tmp'):
    print i
    print j
    print k
    结果:
    d: mp
    []
    ['test13.txt']
     
    2、os.path.walk(top,func,arg)
    python3以上就不支持这种遍历方式,不建议使用
    func(arg,dirname,files):回调函数
    arg:os.path.walk()中的arg
    dirname:根目录
    files:列表,所有的文件和文件夹
     
    def findFile(arg, dirname, files):
    print '*****************************'
    print arg
    print dirname
    print files
    os.path.walk('e:\tmp',findFile,(1,2))
     
    3、os.listdir('e:\tmp')
    列出指定目录下的所有文件和子目录,包括隐藏文件或目录,并以列表形式返回。
     
  • 相关阅读:
    [CLYZ2017]day8
    [CLYZ2017]day12
    [bzoj1503][NOI2004]郁闷的出纳员
    [CLYZ2017]day18
    [CLYZ2017]day11
    [CLYZ2017]day17
    在DLL中获取服务器路径
    SPSecurity.RunWithElevatedPrivileges 拒绝访问
    prototype1.4.0(转载)
    删除多表数据
  • 原文地址:https://www.cnblogs.com/emily-qin/p/7001122.html
Copyright © 2020-2023  润新知