在Python中,获取当前文件夹下所有文件的路径是一个常见的操作,这对于文件处理、自动化脚本编写等场景非常有用。以下是一些高效的方法来实现这一功能。使用os模块Python的os模块提供了很多用于文件...
在Python中,获取当前文件夹下所有文件的路径是一个常见的操作,这对于文件处理、自动化脚本编写等场景非常有用。以下是一些高效的方法来实现这一功能。
os模块Python的os模块提供了很多用于文件和目录操作的方法。要获取当前文件夹下所有文件的路径,可以使用os.listdir()和os.path.join()。
import os
def get_files_paths(directory='.'): """ 获取指定目录下的所有文件路径 :param directory: 指定目录,默认为当前目录 :return: 文件路径列表 """ paths = [] for filename in os.listdir(directory): filepath = os.path.join(directory, filename) if os.path.isfile(filepath): paths.append(filepath) return paths
# 获取当前目录下的所有文件路径
current_directory_files = get_files_paths()
print(current_directory_files)os.listdir(directory):列出指定目录下的所有文件和文件夹。os.path.join(directory, filename):将目录和文件名连接成一个完整的路径。os.path.isfile(filepath):检查指定的路径是否是一个文件。pathlib模块Python 3.4及以上版本引入了pathlib模块,这是一个面向对象的文件系统路径库。使用pathlib获取文件路径的方法类似于os模块。
from pathlib import Path
def get_files_paths(directory='.'): """ 使用pathlib获取指定目录下的所有文件路径 :param directory: 指定目录,默认为当前目录 :return: 文件路径列表 """ paths = [] for filename in Path(directory).iterdir(): if filename.is_file(): paths.append(str(filename)) return paths
# 获取当前目录下的所有文件路径
current_directory_files = get_files_paths()
print(current_directory_files)Path(directory).iterdir():返回一个迭代器,包含指定路径下的所有文件和文件夹。filename.is_file():检查迭代器中的元素是否是一个文件。glob模块glob模块可以用来匹配符合特定模式的文件路径。
import glob
def get_files_paths(directory='.', pattern='*'): """ 使用glob获取指定目录下符合模式的文件路径 :param directory: 指定目录,默认为当前目录 :param pattern: 文件匹配模式,默认为所有文件 :return: 文件路径列表 """ paths = glob.glob(os.path.join(directory, pattern)) return paths
# 获取当前目录下所有文件路径
current_directory_files = get_files_paths()
print(current_directory_files)glob.glob(os.path.join(directory, pattern)):返回所有符合指定模式的文件路径。以上是三种在Python中获取当前文件夹下所有文件路径的方法。你可以根据实际需求选择合适的方法。在处理文件和目录时,建议使用os或pathlib模块,因为它们提供了更丰富的功能。