• 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)
  • 相关阅读:
    Java设计模式——单例模式
    关于 "static" 关键字的那点事
    安卓 修改系统时间
    android sdk 5.0下载步骤
    Android开发中调用系统窗口的方法
    Eclipse 导入已有工程时.classpath和.project文件拒绝访 ...
    Android开发错误总结
    CursorIndexOutOfBoundsException
    html移动端适配方案rem
    pc端和移动端的viewport 以及 像素的含义
  • 原文地址:https://www.cnblogs.com/nfcf/p/12771068.html
Copyright © 2020-2023  润新知