Python实现:自动获取所有文件夹的绝对路径并写入文件
大家好,今天小编关注到一个比较有意思的话题,就是关于python 将目录下所有文件夹的绝对路径写到文件中,于是小编就整理了几个相关介绍详细的解答,让我们一起看看吧。
作为一名程序员,我们经常需要处理大量的文件和文件夹。而在某些场景下,我们需要获取指定目录下所有文件夹的绝对路径,并将这些路径记录到一个文本文件中。如果手工去逐个查找、复制粘贴那肯定是非常烦琐且效率低下的。
好在Python提供了强大的操作系统交互功能,在使用os模块时可以轻松地实现此类需求。接下来我就将分享一段Python代码,它能够自动遍历指定目录下(包括子目录)所有文件夹,并将每个文件夹的绝对路径写入一个文本文件中。
第一介绍一下代码思路:
1. 导入os模块
2. 定义函数`get_all_dirs_path(root_dir, output_file)`,该函数接收两个参数:root_dir表示要遍历的根目录;output_file表示输出结果保存到哪个文本文件中。
3. 在`get_all_dirs_path()`函数内部定义一个列表dirs_list用于存储所有已经找到的子目录。
4. 使用os.walk()方法递归遍历root_dir及其子孙级别所包含的每一个子目录和其中所包含全部或部分内容(也即不仅限于只列出空白目录),并将遍历到的每一个子目录添加到dirs_list中。
5. 将dirs_list中所有元素写入output_file指定的文件中。
下面是完整代码:
```python
import os
def get_all_dirs_path(root_dir, output_file):
# 定义列表,用于存储已经找到的子目录
dirs_list = []
for root, dirs, files in os.walk(root_dir):
for dir_name in dirs:
# 获取当前子目录绝对路径
abs_path = os.path.join(root, dir_name)
# 将该路径添加到dirs_list末尾
dirs_list.append(abs_path)
with open(output_file, 'w', encoding='utf-8') as f:
for path in dirs_list:
f.write(f'{path}\n')
if __name__ == '__main__':
root_dir = '/Users/your/path/to/root/dir'
output_file = 'all_dirs.txt'
get_all_dirs_path(root_dir=root_dir,
output_file=output_file)
```
运行上述代码后,即可自动获取指定根目录(包括其所有子孙级别)下所有文件夹的绝对路径,并将这些路径保存在名为`all_dirs.txt`文本文件中。你可以通过修改root_dir和output_file变量来适配不同场景。
总结
通过Python实现自动获取所有文件夹的绝对路径并写入文本文件,大大提高了我们处理相关任务时的效率和精确度。同时,在学习过程中也能够更好地理解Python语言基础知识和操作系统交互的原理。
希望这篇文章对你有所启发,欢迎提出宝贵意见和建议。感谢阅读!