一、检查文件夹是否存在
在Python中检查文件夹是否存在的最简单方法是使用 os 模块中的 isdir() 函数。isdir() 函数接受一个字符串参数,表示要检查的文件夹的路径,并返回一个布尔值,指示该文件夹是否存在。
import os folder_path = "/path/to/folder" if os.path.isdir(folder_path): print("Folder exists!") else: print("Folder does not exist.")
二、遍历文件夹中的文件
使用 os 模块中的 listdir() 函数可以列出文件夹中的所有文件和子文件夹。这个函数将返回一个字符串列表,每个字符串表示文件夹中的一个文件或子文件夹。我们可以使用 os.path.join() 函数来连接文件夹路径和文件名,以创建文件的完整路径。
import os folder_path = "/path/to/folder" # 列出文件夹中所有的文件和子文件夹 files = os.listdir(folder_path) for file_name in files: full_path = os.path.join(folder_path, file_name) if os.path.isdir(full_path): print("{} is a folder.".format(file_name)) else: print("{} is a file.".format(file_name))
三、递归遍历文件夹中的文件
使用 os 模块中的 walk() 函数可以递归遍历文件夹中的所有文件和子文件夹。这个函数将返回一个三元素的元组,分别表示当前文件夹的路径、当前文件夹中的所有子文件夹的名称、当前文件夹中的所有文件的名称。
import os folder_path = "/path/to/folder" for root, dirs, files in os.walk(folder_path): print("Current folder: {}".format(root)) for file_name in files: full_path = os.path.join(root, file_name) if os.path.isdir(full_path): print("{} is a folder.".format(file_name)) else: print("{} is a file.".format(file_name))
四、创建文件夹
使用 os 模块中的 mkdir() 函数可以创建新的文件夹。该函数接受一个字符串参数,表示要创建的文件夹的路径。我们可以使用 os.path.exists() 函数来检查文件夹是否已存在。
import os new_folder_path = "/path/to/new/folder" if not os.path.exists(new_folder_path): os.mkdir(new_folder_path) print("Folder created successfully!") else: print("Folder already exists.")
五、删除文件夹
使用 os 模块中的 rmdir() 函数可以删除一个空文件夹。如果要删除非空文件夹,则需要使用 shutil 模块中的 rmtree() 函数。
import os import shutil folder_path = "/path/to/folder" if os.path.isdir(folder_path): # 删除空文件夹 os.rmdir(folder_path) print("Folder deleted successfully!") # 删除非空文件夹 shutil.rmtree(folder_path) print("Folder deleted successfully!") else: print("Folder does not exist.")
六、判断文件夹中是否有指定类型的文件
使用 os 模块中的 listdir() 函数可以列出文件夹中的所有文件和子文件夹。我们可以使用 endswith() 函数来检查文件的后缀名是否匹配。如果要忽略文件名的大小写,可以使用 lower() 函数。
import os folder_path = "/path/to/folder" extension = ".txt" for file_name in os.listdir(folder_path): if file_name.lower().endswith(extension): print("{} is a {} file.".format(file_name, extension))