一、检查文件夹是否存在
在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))