Python获取指定文件夹中的所有文件名脚本

1.获取指定文件夹中的所有文件名

要获取指定文件夹中的所有文件名,您可以使用 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 函数打印出文件名列表。

2.更高级的写法

如果您想要使用更高级的写法来获取指定文件夹中的所有文件名,可以使用列表推导式。以下是一个使用列表推导式的示例代码:

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 函数打印出文件名列表。

3.文件夹下,只保留最大的zip包

指定文件夹下,对多个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文件完成。")

猜你喜欢

转载自blog.csdn.net/m0_57021623/article/details/135231185