1、输出目录下所有文件及文件夹 结果如下: 结果如下: os.listdir():列出当前程序文件夹下的所有文件和文件夹; 结果如下: 结果如下: 结果如下: 结果如下: 该模块可以采取类似于“正则”的方式,进行文件匹配,用起来很方便。 结果如下: 结果如下: 结果如下: 结果如下: 结果如下: 问题:当某个文件夹已经存在的时候,运行此代码,会报错。此时可以添加一个判断条件 结果如下: 操作如下: 结果如下: 操作如下: 结果如下: 操作如下: 结果如下: 操作如下: 结果如下: 操作如下: 结果如下: 操作如下: 结果如下: 操作如下: 结果如下: 结果如下: 结果如下: 结果如下: 结果如下: 注意:如果你的压缩包中“有密码”,则采用以下方式进行解压。 结果如下: 结果如下:
目录
1)os.getcwd()
2)路径中斜杠(/)和反斜杠()的说明
3)os.path.join()
4)绝对路径和相对路径
5)os.listdir()与os.isdir()
2、遍历、搜索文件及查询文件信息
1)找出文件夹里的文件夹里的“文件”或“文件夹”
① os.walk(路径)
2)搜索、匹配文件名称及文件信息查看
① 方法一:startswith()和endswith()
② 方法二:glob模块的使用
③ 文件信息查看:os.scandir()
3、批量创建、复制、移动、删除、重命名文件及文件夹
1)创建文件夹
2)复制文件及文件夹(shutil模块儿)
① 复制文件:shutil.copy()
② 复制文件夹:shutil.copytree()
3)移动文件或文件夹
① 移动文件:shutil.move()
② 移动文件夹:shutil.move()
4)重命名文件或文件夹
5)删除文件或文件夹
① 删除文件:os.remove()
② 删除文件夹:shutil.rmtree()
4、创建和解压压缩包
1)读取压缩包里的文件
2)读取压缩包里面的文件信息
3)解压压缩包
① 解压单个文件:extract()
② 解压整个文件:extractall()
4)创建压缩包1、输出目录下所有文件及文件夹
1)os.getcwd():获取当前python程序的运行路径
import os os.getcwd()
2)路径中斜杠(/)和反斜杠()的说明
3)os.path.join():自动连接路径(不同的操作系统,连接符不同)
os.path.join("My Project","Demo") "C:\" + os.path.join("My Project","Demo")
4)绝对路径和相对路径
5)os.listdir()与os.isdir()
os.scandir():os.listdir()的一种更好的替代方法,返回的是一个迭代器。注意:我们可以采用循环迭代其中的每一个元素,os.scandir()有两个特殊的属性和一个方法,我们在下面的例子中,进行演示。os.listdir() os.scandir() for item in os.scandir(): print(item.name,item.is_dir(),"nt",item.path)
其实,os.listdir()或者os.scandir()其实可以传入一个路径,然后获取指定路径下的文件或者文件夹。os.listdir("G:\6Tipdm\Python集训营_情感分析") for item in os.scandir("G:\6Tipdm\Python集训营_情感分析"): print(item.name,item.is_dir(),"n")
2、遍历、搜索文件及查询文件信息
1)找出文件夹里的文件夹里的“文件”或“文件夹”
① os.walk(路径):传入一个路径,帮助我们将文件夹里的文件夹里的文件夹里的文件都找出来。
for dirpath, dirnames, files in os.walk("./"): print(f"发现文件夹t{dirpath}") print(files) ----------------------------------------------- for dirpath, dirnames, files in os.walk("./"): print(f"发现文件夹t{dirpath}") print(dirnames) """ dirpath是文件夹路径 dirnames是dirpath这个文件夹下的子文件夹列表 files是dirpath这个文件夹里的文件列表 """
2)搜索、匹配文件名称及文件信息查看
① 方法一:startswith()和endswith()
"abc.txt".startswith("abc") "abc.txt".endswith(".txt") ------------------------------------------------------ list1 = ["a.txt", "b.py", "c.xlsx", "d.txt", "e.txt"] for item in list1: if item.endswith(".txt"): print(item)
② 方法二:glob模块
代码如下:for i in glob.glob("*.txt"): print(i) --------------------------- for i in glob.glob("a*.txt"): print(i) --------------------------- for i in glob.glob("a?.txt"): print(i) --------------------------- for i in glob.glob("a??.txt"): print(i)
特别的:glob()方法中还有一个参数recursive = True,能够将所有深层文件夹里面,符合条件的文件给你找出来。# 注意:一个*和两个*的区别 glob.glob("*/*.txt",recursive=True) glob.glob("**/*.txt",recursive=True)
③ os.scandir()返回的文件都可以利用stat()方法,进行查看
代码如下:for file in os.scandir(): print(file.name, file.stat(), "n")
接着,我们获取上述几个常用属性看看。import time for file in os.scandir(): print(file.name, file.stat().st_size, time.ctime(file.stat().st_ctime), "n")
3、批量创建、复制、移动、删除、重命名文件及文件夹
1)创建文件夹
os.mkdir("新文件夹名称"):创建单层文件夹; os.makedirs("第一层/第二层/第三层"):创建多层文件夹; list1 = ["文件夹{}".format(i) for i in range(5)] for i in list1: os.mkdir(i)
(os.path.exists("新文件夹名称"))。 if not os.path.exists("傻逼"): os.mkdir("傻逼")
2)复制文件及文件夹(shutil模块儿)
① 复制文件
import shutil # 将aba.txt复制一份到project文件夹中。 shutil.copy("aba.txt", "./project") # 将aba.txt复制一份到project文件夹中,并重新命名为“新名字.txt”。 shutil.copy("aba.txt", "./project/新名字.txt")
② 复制文件夹:相当于重命名文件夹
import shutil shutil.copytree("project", "./qq")
3)移动文件或文件夹
① 移动文件
import shutil # 将aba.txt移动到“傻逼”文件夹下 shutil.move("aba.txt","./傻逼/") # # 将test.txt移动到“傻逼”文件夹下,并重新命名为test1.txt shutil.move("test.txt","./傻逼/test1.txt")
② 移动文件夹
import shutil # 将“第一层”文件夹移动到“傻逼”文件夹下 shutil.move("第一层","./傻逼/") # 将“qq”文件夹移动到“傻逼”文件夹下,并重新命名为“哈哈”文件夹 shutil.move("qq","./傻逼/哈哈")
4)重命名文件或文件夹
import os # 将test1.xlsx重命名为“my.xlsx” os.rename("test1.xlsx","my.xlsx") # 将“傻逼”文件夹重命名为“傻子”文件夹 os.rename("傻逼","傻子")
5)删除文件或文件夹
① 删除文件
import os # 删除“my.xlsx”文件 os.remove("my.xlsx")
② 删除文件夹
import shutil # 删除“文件夹0”这个文件夹 shutil.rmtree("文件夹0")
4、创建和解压压缩包
1)读取压缩包里的文件
import zipfile with zipfile.ZipFile("python办公自动化.zip", "r") as zipobj: print(zipobj.namelist()) ----------------------------------------------------------- # 注意:有时候需要写成filename.encode("cp437").decode("gbk") with zipfile.ZipFile("python办公自动化.zip", "r") as zipobj: for filename in zipobj.namelist(): print(filename.encode("gbk").decode("gbk"))
2)读取压缩包里面的文件信息
import zipfile with zipfile.ZipFile(r"G:tableau书籍Tableau文件.zip", "r") as zipobj: for filename in zipobj.namelist(): info = zipobj.getinfo(filename) new_filename = filename.encode("cp437").decode("gbk") print(new_filename, info.file_size/1024/1024, info.compress_size/1024/1024)
3)解压压缩包
① 解压单个文件
import zipfile # 将该压缩包中的“a.txt”文件,单独解压到“傻子”文件夹下 with zipfile.ZipFile(r"G:6Tipdm7python办公自动化python办公自动化.zip", "r") as zipobj: zipobj.extract("a.txt","./傻子/")
② 解压整个文件
import zipfile # 将该压缩包整个解压到“文件夹1”文件夹下 with zipfile.ZipFile(r"G:6Tipdm7python办公自动化python办公自动化.zip", "r") as zipobj: zipobj.extractall("./文件夹1/")
4)创建压缩包
① 对某些文件,创建压缩包
file_list = ["a.txt", "aa.txt", "文件夹1"] # 将上述三个文件,进行打包,使用“w” with zipfile.ZipFile(r"我创建的压缩包.zip", "w") as zipobj: for file in file_list: zipobj.write(file)
② 压缩包已经存在,往其中添加文件
# 往上述压缩包中,再次添加一个新文件“傻子”文件夹,使用“a” with zipfile.ZipFile(r"我创建的压缩包.zip", "a") as zipobj: for file in file_list: zipobj.write("傻子")
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算