zoukankan      html  css  js  c++  java
  • python管理电脑文件及文件夹

    管理电脑文件及文件夹

    1、输出目录下所有文件及文件夹

    (1)python操作系统接口模块   https://docs.python.org/zh-cn/3.7/library/os.html

       

     (2)获取当前python程序运行路径

    import os
    print(os.getcwd())
    print(os.path.join('xuexi python','01变量.py'))

    (3)让python自动处理路径连接

     (4)绝对路径与相对路径

       

     (5)列出当前程序文件夹(及指定文件夹)下的所有文件和文件夹

      

       

    import os
    
    print(os.getcwd())
    print(os.path.join('xuexi python','01变量.py'))
    print(os.listdir())             #列出当前程序文件夹下的所有文件和文件夹(列表形式)
    
    for item in os.listdir():       #列出当前程序文件夹下的所有文件和文件夹
        print(item,os.path.isdir(item))
    
    print(os.listdir('E:Youku Files'))      #列出某个指定文件夹下的所有文件和文件夹(列表形式),英文路径
    
    for file in os.scandir():
        print(file.name,file.path,file.is_dir())
        
    for file in os.scandir('E:Youku Files'):
        print((file.name,file.path,file.is_dir()))

    2.遍历、搜索文件及查询文件信息 

    (1)遍历文件夹

     

    import os
    for dirpath, dirnames, files in os.walk('E:Youku Files'):
        print(f'发现文件夹:{dirpath}')
        print(files)
    
    print('666good'.startswith('6'))
    print('good.txt'.endswith('t'))

    (2)搜索、匹配文件名称

         

    import glob
    
    print(glob.glob('1*.py'))
    print(glob.glob('?1*.py'))
    print(glob.glob('0[1-8]*.py'))
    print(glob.glob('[1,0]*.py'))
    print(glob.glob('[!1,6]*.py'))
    print(glob.glob('*.txt', recursive= True))
    
    import fnmatch
    
    print(fnmatch.fnmatch('12函数使用.py','*使用.py'))
    print(fnmatch.fnmatch('12函数使用.py','[0-9]?函数??.py'))

    (3)查询文件信息

     

         

    import os
    import time
    import datetime
    for file in os.scandir():
        print(file.name,file.stat(),file.stat().st_size/1024,time.ctime(file.stat().st_mtime))
        file_time = file.stat().st_mtime
        print(datetime.datetime.fromtimestamp(file_time))
    print(os.stat('01变量.py'))

      

    import datetime
    normal_time = datetime.datetime.fromtimestamp(1498912896)
    print(normal_time,normal_time.year,normal_time.month,normal_time.day)

     3、写入和读取文件;创建临时文件及文件夹

    (1)读取文件

    f = open('file.txt','r',encoding= 'utf-8')
    text = f.readlines()
    print(text)
    f.close
    with open('D:Desktop快捷键.txt','r',encoding='ansi') as fi:
        text_fi = fi.readlines()
        print(text_fi)
    

     (2)写入文件的两种模式(覆盖写 和 接着写)

    with open('file.txt','w',encoding= 'utf-8') as f:
        text = 'a
    b
    c
    '
        f.write(text)
        f.write('d')
    with open('file.txt','a',encoding= 'utf-8') as f:
        f.write('
    ')
        f.write('good')

     

     (3)创建临时文件和存储数据

    from tempfile import TemporaryFile
    
    f = TemporaryFile('w+')
    f.write("good!good!")
    f.seek(0)
    data = f.readlines()
    print(data)
    f.close
    with TemporaryFile("w+") as f:
        f.write("6jl very good")
        f.seek(0)
        data = f.readlines()
        print(data)

      

     (4)创建临时文件夹

    from tempfile import TemporaryDirectory
    
    with TemporaryDirectory() as tmp_folder:
        print(f'临时文件夹已创建:{tmp_folder}')

     

     4、批量创建、复制、移动、删除、重命名文件及文件夹

     (1)创建文件夹

    import os
    
    if not os.path.exists("新文件夹"):
        os.mkdir('新文件夹')

     

     

    import os
    
    os.makedirs('一/二')

    (2)复制文件、文件夹

     

    import shutil
    shutil.copy('file.txt','./新文件夹')
    shutil.copy('file.txt','./新文件夹/new_file.txt')
    shutil.copytree('','新文件夹1')

    (3)移动文件和文件夹

      

    import shutil
    
    shutil.move('./新文件夹/file.txt','./一/二/file2.txt')
    shutil.move("./一/二/file2.txt",'新文件夹/')
    shutil.move("",'新文件夹1/')

    (4)重命名文件和文件夹

    import os
    os.rename(
    '新文件夹','文件夹new') os.rename('./文件夹new/文件夹一','./文件夹new/wjj') os.rename('./文件夹new/file2.txt','./文件夹new/file_new.txt')

     (5)删除文件,删除文件夹

       

    import os
    os.remove("./文件夹new/file2.txt")
    
    import shutil
    shutil.rmtree('./文件夹new')

     5、创建和解压压缩包

    (1)读取压缩包

     

    import zipfile
    with zipfile.ZipFile('xuexi.zip','r') as zipobj:
        for filename in zipobj.namelist():
            print(filename.encode('cp437').decode('gbk'))

    # 读取压缩包内文件信息
    import
    zipfile with zipfile.ZipFile('xuexi.zip','r') as zipobj: for filename in zipobj.namelist(): info = zipobj.getinfo(filename) nfilename = filename.encode('cp437').decode('gbk') print(nfilename,info.file_size,info.compress_size,info)

    (2)解压压缩包

     

    import zipfile
    with zipfile.ZipFile('xuexi.zip','r') as zipobj:
        zipobj.extract('pyvenv.cfg','./xuexi/')
        zipobj.extractall(path= './xuexi')

    (3)创建压缩包

     

    import zipfile
    file_list = ['01.txt','./02.txt']
    with zipfile.ZipFile('newzip.zip','w') as zipobj:
        for file in file_list:
            zipobj.write(file)
  • 相关阅读:
    城市的划入划出效果
    文本溢出省略解决笔记css
    长串英文数字强制折行解决办法css
    Poj 2352 Star
    树状数组(Binary Indexed Trees,二分索引树)
    二叉树的层次遍历
    Uva 107 The Cat in the Hat
    Uva 10336 Rank the Languages
    Uva 536 Tree Recovery
    Uva10701 Pre, in and post
  • 原文地址:https://www.cnblogs.com/nfcf/p/12771068.html
Copyright © 2011-2022 走看看