要获取指定文件夹中的所有文件名,您可以使用 os.listdir
函数来列出文件夹中的所有文件和文件夹,然后使用 os.path.isfile
函数来过滤出仅为文件的项。示例代码:
import os
def get_file_names(folder_path):
file_names = []
for item in os.listdir(folder_path):
item_path = os.path.join(folder_path, item)
if os.path.isfile(item_path): # 只处理文件,忽略文件夹
file_names.append(item) # 将文件名添加到列表中
return file_names
folder_path = "your_folder_path" # 替换为您的文件夹路径
file_names = get_file_names(folder_path)
print(file_names)
在这个示例中,get_file_names
函数接受文件夹路径作为参数,并创建一个空列表file_names
。然后,它使用 os.listdir
遍历文件夹中的所有项,并使用 os.path.isfile
来过滤出仅为文件的项。对于每个文件,它将文件名添加到 file_names
列表中。请将"your_folder_path"替换为实际的文件夹路径。函数将返回一个包含指定文件夹中所有文件名的列表。您可以使用 print
函数打印出文件名列表。
如果您想要使用更高级的写法来获取指定文件夹中的所有文件名,可以使用列表推导式。以下是一个使用列表推导式的示例代码:
import os
def get_file_names(folder_path):
return [item for item in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, item))]
folder_path = "your_folder_path" # 替换为您的文件夹路径
file_names = get_file_names(folder_path)
print(file_names)
在这个示例中,我们使用列表推导式来简化代码。列表推导式的语法是 [expression for item in list if condition]
,它会遍历列表,并根据条件筛选出满足条件的项,并对每个项应用表达式。
在我们的示例中,列表推导式首先使用 os.listdir
函数遍历文件夹中的所有项。然后,使用 os.path.isfile
函数和 os.path.join
函数结合来判断每个项是否为文件。如果是文件,则将其添加到生成的列表中。
请将 “your_folder_path” 替换为实际的文件夹路径。函数将返回一个包含指定文件夹中所有文件名的列表。您可以使用 print
函数打印出文件名列表。
指定文件夹下,对多个zip文件按文件大小排序,只保留最大的zip包
import os
import glob
# 指定文件夹路径
folder_path = "/path/to/your/folder"
# 获取文件夹下所有的zip文件
zip_files = glob.glob(os.path.join(folder_path, "*.zip"))
# 按文件大小排序
zip_files.sort(key=os.path.getsize, reverse=True)
# 保留最大的zip文件,删除其他zip文件
for i in range(1, len(zip_files)):
os.remove(zip_files[i])
print("保留最大的zip文件完成。")