python打开文件夹下所有文件
A. python获取指定目录中的所有文件的名称并保存到txt中
获取指定目录下的所有文件和文件夹(不遍历子目录):
使用os库中的os.listdir()函数可以实现。例如:os.listdir('F:\\hexo'),这将返回指定目录中的所有文件和文件夹名,但不包括子目录。
获取指定目录下的所有文件和文件夹(遍历子目录):
要遍历子目录,可以使用os.walk()函数。例如:for dirpath, dirnames, filenames in os.walk('F:\\hexo'):
这将返回一个三元组,包含当前目录的路径、目录名列表和当前目录下的文件名列表,从而实现子目录的遍历。
筛选文件夹:
在遍历子目录时,可以通过判断文件名是否以'\\'结尾来筛选文件夹。例如:for dirpath, dirnames, filenames in os.walk('F:\\hexo'): if dirpath[-1] == '\\': print(dirpath)
只需要文件(夹)名:
在获取文件和文件夹名时,可以通过直接访问列表来获取。例如:filenames = os.listdir('F:\\hexo'),这将返回一个包含当前目录下所有文件和文件夹名的列表。
保存到Txt:
获取到文件和文件夹名后,可以使用with open('F:\\dir.txt', 'w') as f: for name in filenames:
这将打开名为'dir.txt'的文件,并将列表中的每一个元素写入文件,实现保存功能。
如果不需要遍历子目录,直接使用DOS命令更快。以F:\\hexo为例,打开CMD,输入dir /a-d /b F:\\hexo,即可显示所有文件和文件夹名。
查询更多参数:查阅os库文档,了解os.listdir()、os.walk()等函数的详细用法和参数,以满足更多需求。
B. 用Python遍历指定文件夹下所有文件
使用Python遍历指定文件夹下所有文件,主要依赖于os.walk(folder)函数。假设我们有一个名为base的文件夹,包含4个文件和两个子文件夹,子文件夹中各含3个文件。现在我们想获取该文件夹及其子文件夹中的所有文件名称。
基本操作:遍历base文件夹中的所有文件名称。
示例脚本运行结果展示。
虽然获取了文件名称,但未包含路径信息,无法直接打开文件。因此,需对遍历结果稍作修改。
示例脚本运行结果展示。
此时,即可在脚本中进行文件操作。
若需找出特定类型的文件,如所有Excel文件(后缀名.xls),可用正则表达式简化匹配逻辑。
实例脚本运行结果展示。
对于特定文件名匹配需求,如找出包含数字的文件名,正则表达式同样适用。
实例脚本运行结果展示。
关于for root, ds, fs in os.walk(base):的解释,os.walk(base)返回可迭代对象,用于循环遍历文件夹结构。每次循环返回一个元组,包含root(当前路径)、ds(当前路径下的子文件夹列表)和fs(当前路径下的文件列表)。
os.walk(base)过程直观,遍历结构简单明了。ds变量主要用于文件夹名称,除非需要额外操作,否则通常不使用。
以上内容适用于Python文件操作基础,希望对您的文件管理任务有所帮助。