python批量读取文件名并写入txt文件中
![star](https://csdnimg.cn/release/downloadcmsfe/public/img/star.98a08eaa.png)
在Python编程中,有时我们需要处理大量文件,例如在项目中动态加载资源时。在这个场景下,手动输入每个文件名是不切实际的,因此需要编写脚本来批量读取文件名并将其写入文本文件中。这里介绍的Python脚本正是为了解决这类问题。 脚本使用了两个关键函数:`BFS_Dir()` 和 `printDir()`。`BFS_Dir()` 是一个广度优先搜索(Breadth-First Search)函数,用于遍历指定目录及其子目录中的所有文件和子目录。它接受三个参数,分别是需要遍历的目录路径、目录回调函数和文件回调函数。目录回调函数和文件回调函数会在遍历到目录或文件时被调用。 `BFS_Dir()` 的实现中,首先创建一个队列 `queue`,将初始目录添加到队列中。然后,使用一个 `while` 循环来处理队列中的每一个元素。如果元素是目录,就将其添加到结果列表 `ret` 中,并递归地将目录下的所有文件和子目录加入队列。如果元素是文件,就会调用文件回调函数,将文件名写入指定的文本文件(在这个例子中,文件名为 `f.txt`)。 `printDir()` 和 `printFile()` 函数则是简单的打印回调函数,分别用于在控制台上打印当前处理的目录和文件路径。在主程序中,用户可以通过输入路径来启动遍历过程,程序会处理输入的路径,并在完成时显示提示信息。 脚本中还有一行代码 `reload(sys)sys.setdefaultencoding('utf-8')`,这行代码是为了设置Python解释器的默认编码为UTF-8。然而,这并不是推荐的做法,因为Python标准库不支持更改默认编码。在Python 3.x中,字符串默认就是Unicode,因此通常不需要这一步。在实际项目中,应尽量避免修改Python的内部设置,而是通过其他方式处理编码问题,如使用`io.open()`函数指定编码。 这个Python脚本展示了如何使用广度优先搜索遍历文件系统,获取所有文件名,并将这些文件名写入文本文件中。这在处理大量文件时非常有用,特别是在需要自动化处理或批量操作文件的场景下。了解和掌握这种技巧对于提高开发效率和简化工作流程具有重要意义。
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![text/x-c++](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/release/download_crawler_static/12860494/bg1.jpg)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
- 莎莎0982021-05-12没用! 大家别下载!
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 4
- 资源: 939
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)