zoukankan      html  css  js  c++  java
  • python入门(九):目录操作

    getcwd()当前目录路径
    >>> import os
    >>> os.getcwd()
    'E:\'
    chdir()切换目录
    >>> os.chdir("e:\pic1")
    >>> os.getcwd()
    'e:\pic1' 
     
     
    listdir()列出目录下所有的文件和目录,返回一个列表
      os.listdir()
    >>> os.listdir("e:\blog")

    ['1.txt', '2.txt', 'a', 'b']

     
     
     >>> import os.path
    >>> os.path.isdir("e:\blog\config.py")
    False
    >>> os.path.isdir("e:\blog\flask")
    True
    >>> os.path.isfile("e:\blog\config.py")
    True
    >>> os.path.isfile("e:\blog\flask")
    False
     
     
    小练习:统计一个目录下(一层目录),统计一下有多个文件
    统计一下有多少个目录
    提示:用os.listdir  和判断文件和路径的api来进行计数
    算法:
    1 定义文件计数的变量
    2 定义文件夹计数的变量
    并赋值0
    3 使用os.listdir()获取所有的文件和目录名称,这个返回值是列表
    4 使用for 进行遍历,使用os.path.isdir和isfile来分别判断是文件还是目录
    如果是文件,则在文件计数的变量上+1,否则在目录计数的变量上加一
    5 输出统计结果:文件计数和目录计数的变量值
     import os
    import os.path
    file_count = 0
    dir_count =0

    for i in os.listdir("e:\pic1"):
        print("取出的内容:",i)
        if os.path.isfile("e:\pic1\"+i):
            file_count+=1
        else:
            dir_count+=1
    print("文件个数:%s" %file_count)
    print("目录个数:%s" %dir_count)
     
     
    remove删除文件
     >>> import os
    >>> os.getcwd()
    'E:\'
    >>> os.chdir("e:\pic1")
    >>> os.getcwd()
    'e:\pic1'
    >>> os.remove("e:\pic1\1.txt")
    >>> os.remove("2.txt")
    >>> os.remove("2.txt")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    FileNotFoundError: [WinError 2] 系统找不到指定的文件。: '2.txt'
    >>>
     
    创建目录
     >>> os.mkdir("e:\pic1\testman")
    >>> os.mkdir("e:\pic1\testman1")
    >>> os.mkdir("e:\pic1\testman")
    >>> os.mkdir("e:\pic1\testman1")
    >>> os.mkdir("e:\pic1\testman1\testman3")
    >>> os.mkdir("e:\pic1\testman1\testman4") 
     
    删目录  递归删除空目录
     >>> os.removedirs("e:\pic1\testman1")
     从路径的下面开始删除空目录,如果遇到了某个
    目录非空(包含子目录或者文件)就停止删除目录了 
    os.walk()?
     import shutil?
     
    判断是不是绝对路径
     >>> os.getcwd()
    'e:\pic1'
    >>> os.path.isabs("1.txt")
    False
    >>> os.path.isabs("e:\pic1\1.txt")
    True 
     
     
    判断文件存在不存在
     >>> if not os.path.exists("e:\pic1\2.txt"):
    ...     with open("e:\pic1\2.txt","w") as fp:
    ...         fp.write("") 
     
     
     创建一个10级目录,每个目录的名字从gloryroad1-10,每个目录创建一个文件,文件的名字是1-10.txt,文件内容写上文件名
     os.mkdir("e:\pic1\testman11")
    算法: 
     1 写一个for 循环,循环10次
     2 在循环体下,,创建一个目录为gloroadi(i是循环的变量值),os.chdir进入到新创建的目录,然后用with方法创建文件,文件名使用i变量+".txt"的方式来拼接文件名,
    然后使用w模式,给文件写内容,写的文件内容就是拼接的文件名

    import os
    os.chdir("D:\gloaryroad")
    first_dir=os.getcwd()
    for i in range(1,11):
    last_dir="good"+str(i)
    os.mkdir(first_dir+"\"+last_dir)
    first_dir+="\"+last_dir
    os.chdir(first_dir)
    with open(str(i)+".txt","w") as fp:
    fp.write(str(i)+".txt")

    --------------------------------------------------

     
     import os
    dir_name = "glroyroad"
    os.chdir("e:\pic1")
    for i in range(1,11):
        os.mkdir(dir_name+str(i))
        os.chdir(dir_name+str(i))
        with open(str(i)+".txt","w") as fp:
            fp.write(str(i)+".txt")
     
     
    获取文件所在的目录路径
     >>> os.path.dirname(r"e:pic11.txt")
    'e:\pic1'
    获取文件的文件名
    >>> os.path.basename(r"e:pic11.txt")
    '1.txt' 
     
     
    获取到切割的文件名和文件的后缀名
     >>> os.path.splitext(r"e:pic11.txt")
    ('e:\pic1\1', '.txt') 
     
    正在使用的平台   nt是win7
     >>> os.name
    'nt' 
     
    文件重命名
     >>> os.rename("2.txt","200.txt")
    >>> os.listdir()
    ['1.txt', '200.txt', 'glroyroad1', 'pic2', 'test', 'testman11', 'testmanxxxx', '
    新建文本文档.txt'] 
     
    文件大小(获取某一文件的字节数)

    >>> os.path.getsize("e:\b.py")
    223

     
     
     
     
  • 相关阅读:
    【特别推荐】12款最佳的网站速度和性能测试工具
    Skeljs – 用于构建响应式网站的前端开发框架
    EpicEditor – 可嵌入的 JavaScript Markdown 编辑器
    12个学习 CSS3 网站布局设计的优秀案例
    15套流行的扁平化设计的界面素材【免费下载】
    JavaScriptOO.com – 快速找到你需要的 JS 框架
    15款最好的 jQuery Modal(模态窗口)插件
    开眼了!20个极具创意的移动界面动画效果
    ShareDrop – 苹果 AirDrop 服务的 HTML5 实现
    Furatto – 轻量,友好的响应式前端开发框架
  • 原文地址:https://www.cnblogs.com/suitcases/p/10306610.html
Copyright © 2011-2022 走看看