Python中的os.listdir()方法及获取文件夹中所有文件的路径

本文深入讲解了Python中os模块的listdir(), path.join()及isdir()等函数的使用方法,通过实例演示如何遍历目录并获取所有文件路径,最后将路径列表写入TXT文件,适合初学者和需要进行文件批量处理的开发者。
该文章已生成可运行项目,

源于: 执行类代码 – CountTxtClass.py – 函数get_result_txt


文件操作:
1. os.listdir(): 列出路径下所有的文件
2. os.path.join(): 连接文件的作用
3. os.path.isdir(): 判断是否是文件夹


os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 ‘.’ 和’…’ 即使它在文件夹中。

listdir()方法语法格式如下:
os.listdir(path)

path – 需要列出的目录路径
返回值 – 返回指定路径下的文件和文件夹列表

import os
path="C:/Users/zhf/Desktop/英文论文参考文献"
dirs = os.listdir( path )
for file in dirs:
    print (file)

在这里插入图片描述
拓展:
  输入一个文件夹路径,将文件夹中所有文件的路径存入txt中。

# -*- coding: utf-8 -*-
# 生成文件夹中所有文件的路径到txt
import os
def listdir(path, list_name):  # 传入存储的list
    for file in os.listdir(path):
        file_path = os.path.join(path, file)
        if os.path.isdir(file_path):
            listdir(file_path, list_name)
        else:
            list_name.append(file_path)
 
list_name=[]
path='D:/PythonProject/data/'   #文件夹路径
listdir(path,list_name)
print(list_name)
 
with open('./list.txt','w') as f:     #要存入的txt
    write=''
    for i in list_name:
        write=write+str(i)+'\n'
    f.write(write)

学习链接
python——获取文件夹中所有文件的路径

本文章已经生成可运行项目
### 功能 `os.listdir()` 是 Python 标准库 `os` 模块中的一个函数,用于返回指定目录下的所有文件文件夹的名称列表。它可以帮助开发者快速获取指定目录中的内容,对于文件系统的遍历、文件管理等操作非常有用。 ### 使用方法 `os.listdir()` 函数接受一个字符串参数,表示要列出内容的目录路径。如果不提供参数,默认是当前工作目录。以下是一个简单的示例: ```python import os # 指定目录路径 path = '/your/specified/directory' # 获取目录下的所有文件文件夹名称 files_and_folders = os.listdir(path) # 打印结果 for item in files_and_folders: print(item) ``` 在上述示例中,`os.listdir(path)` 返回指定目录下的所有文件文件夹的名称列表,然后通过循环打印出每个名称。 ### 可能出现的问题及解决方案 #### 1. 权限问题 - **问题描述**:如果指定的目录没有足够的权限访问,`os.listdir()` 会抛出 `PermissionError` 异常。 - **解决方案**:检查目录的权限设置,确保当前用户有读取该目录的权限。可以通过操作系统的文件管理工具或命令行工具(如 `chmod` 命令)来修改权限。 #### 2. 目录不存在 - **问题描述**:如果指定的目录路径不存在,`os.listdir()` 会抛出 `FileNotFoundError` 异常。 - **解决方案**:在调用 `os.listdir()` 之前,使用 `os.path.exists()` 函数检查目录是否存在。示例代码如下: ```python import os path = '/your/specified/directory' if os.path.exists(path): files_and_folders = os.listdir(path) for item in files_and_folders: print(item) else: print(f"指定的目录 {path} 不存在。") ``` #### 3. 编码问题 - **问题描述**:在某些情况下,目录中的文件文件夹名称可能包含非 ASCII 字符,这可能会导致编码问题。 - **解决方案**:确保 Python 脚本的编码设置正确,通常可以在脚本开头添加 `# -*- coding: utf-8 -*-` 来指定编码为 UTF-8。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值