python基础--管理目录与文件

1) 文件夹

os.listdir()    #显示文件夹下所有文件
os.getcwd()     #获取当前工作目录
os.chdir()      #切换目录
os.mkdir()      #建立目录
os.path.exists() #判断路径存不存在
os.path.isdir()  #判断是不是目录
os.path.join()   #组合路径

2) 相对路径与绝对路径

一个点:当前目录,特殊名称,不是真的文件夹
两个点:父级目录
os.path.abspath('.')    #显示绝对路径
os.path.isabs()         #判读是不是绝对路径
os.path.relpath()       #显示相对路径

3)命名管理

#路径各级名称
os.path.sep             #路径分割符
os.path.basename()      #获取文件名
os.path.dirname()       #获取路径名
os.path.split(path)     #分割路径和文件名
#('C:\\Users\\sothi\\Desktop\\py2018', '02-auto')

os.path.splitext(path)  #点号分割,可以获取后缀
    #示例
    os.path.split(r'C:\Users\sothi\Desktop\py2018\02-auto\test\1.pdf'
    ('C:\\Users\\sothi\\Desktop\\py2018\\02-auto\\test', '1.pdf')   
    os.path.splitext(r'C:\Users\sothi\Desktop\py2018\02-auto\test\1.pdf')
    ('C:\\Users\\sothi\\Desktop\\py2018\\02-auto\\test\\1', '.pdf')

4) 删除文件:操作有风险,删除需谨慎

os.unlink
shutil.rmtree(path)

import shutil
shutil.rmtree('xxx')

#复制/移动:shutil
shutil.copytree('../test', '../backup')
shutil.move('007', '009')

5) 只想要我要的文件格式

- 文件的属性
    os.path.getsize     #文件大小
    os.path.isfile()    #判断是不是文件
    os.stat             #文件信息:权限,大小,创建时间等
    os.walk()   
    #
    for root, dirs, files in os.walk('.'):
        print(root, dirs, files)        
- 后缀名
    split               #通过split切割
    [-3:]               #文件后缀一般是3个长度:比如.txt
    re                  #通过正则匹配
    endswith            #通过endswith匹配后面字符串

    #示例
    # os.walk 遍历目录, 找到对应后缀名,并大小小于1M的文件
    re_filename = re.compile('(.*pdf$)|(.*docx$)|(.*xls$)')
    for root, dirs, files in os.walk('.'):
        print(root, dirs, files)
        for name in files:
            file = os.path.join(root, name) # 根目录下的文件名
            if re_filename.match(file) and os.path.getsize(file) < 1024*1024:
                print(name)

posted on 2018-06-23 09:06  shisanjun  阅读(290)  评论(0编辑  收藏  举报

导航