python第九章组件文件

  1. 批量操作具有相同类型的文件(python实现自动化)
    shutil 或者称为shell工具,该模块中包含一些函数,用于实现python程序中复制,移动、改名和删除文件
    shutil.copy(source, destination) 将路径source处的文件复制到路径destination处的文件夹,两个参数都是字符串,当distiantion是一个文件名的时候,表示被复制过来的文件新名字,返回一个字符串表示被复制文件的路径。
    shutil.copytree()复制整个文件夹,同样是两个参数。包括它下面所有的文件夹和文件;返回一个字符串,是新复制的文件夹的路径。
  2. shutil.move(source, destination)将路径sorce处的文件夹移动到路径destination处,并返回新位置的绝对路径的字符串。(使用的时候注意是否要覆盖原有的文件:存在的情况下)。如果要移动的文件夹不存在,那么就会将原来的文件改名为目的地的文件夹的名字为文件名,所以在移动文件之前要先确定要移动到的目的地是文件夹是存在的。
  3. 删除文件和文件夹
    os.unlink(path)将删除path处的文件
    os.rmdir(path_将删除path处的文件夹,但是该文件夹必须为空
    shutil.rmtree(path)将删除path处的文件夹,它包含的所有文件和文件夹都会被删除。(不可恢复)
  4. send2trash模块: 安全删除文件或者文件夹,它是将删除的东西放在回收站了。send2trash.send2trash()
    pip install send2trash 的时候报错:failed to create process/fatal error in launcher
    因为我本地安装了python2   和python3 
    使用python2 -m pip install send2trash或者python3 -m pip install send2trash即可安装
  5. 遍历目录树os.wals()函数传入一个参数:文件夹的路径,遍历整个目录树,返回三个值:
    当前文件夹名称的字符串(for循环当前的文件夹)
    当前文件夹中子文件夹的字符串列表
    当前文件夹中文件的字符串的列表。
  6. zipfile模块压缩文件:将多个文件打包成一个文件,这个文件叫做归档文件。
    使用过程:
    a、调用ZipFile()函数,创建一个ZipFile对象: exampleZip = zipfile.ZipFile(‘file.zip‘
    b、对象的namelist()方法,返回ZIP文件中包含的所有文件和文件夹的字符串列表。
    import zipfile, os
    
    dir_path = os.getcwd()
    
    file_path = dir_path + '/' + 'zip.zip'
    
    exampleZip = zipfile.ZipFile(file_path)
    
    tmp = exampleZip.namelist()
    print(tmp)
    
    spamInfor = exampleZip.getinfo('zip/1.txt')
    print(spamInfor.file_size)
    print(spamInfor.compress_size)
    
    exampleZip.close()
    
    
    依次打印结果是:
    ['zip/', 'zip/1.txt', 'zip/2.txt', 'zip/3.txt', 'zip/4.txt', 'zip/5.json']
    3742
    1897
  7. 解压缩: ZipFile对象的extractall()方法用来解压文件
    dir_path = os.getcwd()
    file_path = dir_path + '/' + 'zip.zip'
    exampleZip = zipfile.ZipFile(file_path)
    exampleZip.extractall()
    exampleZip.close()

    extract(参数)方法用于从ZIP文件中解压单个文件。传递的参数必须是namelist()返回的字符串列表中的一个,第二个参数可选用于指定解压的位置。

  8. 创建和添加到ZIP文件,必须以写模式打开ZipFile对象,w作为第二个参数。
    import os, zipfile
    
    dir_path = os.getcwd()
    newZip = zipfile.ZipFile('new.zip', 'w')
    newZip.write('spam.txt', compress_type=zipfile.ZIP_DEFLATED)
    newZip.close()
    

    write()方法的第二个参数是指压缩类型,写模式会擦除ZIP文件中原有的内容,可以像open一样使用追加模式a

  9. 总结
    备注:在删除文件的是最好先注释掉删除,换成打印,看看到底要删除哪些文件,确保删除是安全的。

猜你喜欢

转载自blog.csdn.net/q1138266752/article/details/83833350