python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python获取当前路径并列出当前路径下的所有文件

Python如何获取当前路径并列出当前路径下的所有文件

作者:金色麦田~

这篇文章主要介绍了Python如何获取当前路径并列出当前路径下的所有文件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Python获取当前路径并列出当前路径下的所有文件

问题描述

因为需要读取多个文件,但是如果一个一个地输入名字和读取,效率就会异常地低,作为程序员,怎么能忍受这样的折磨呢???

所以,现在问题是如何获取当前路径,并获取指定目录下的所有文件,然后对每一文件进行单独处理呢?

解决方案

首先获取当前路径,使用下面的代码:

import os
path = os.getcwd()#获取当前路径
print(path)

输出:

'/home'

然后获取当前路径下的文件名

all_files = [f for f in os.listdir(path )]#输出根path下的所有文件名到一个列表中
#对各个文件进行处理
print(all_files)

输出:

[ ‘tmp’,'user1']

由上即可获得指定目录下的所有文件及文件夹列表了。

心得:

python支持很多的os中指令,需要在使用的过程中慢慢熟悉了。。。

python 递归获取目录(文件夹)下的所有文件路径

例1:基本原理1

# 获取目录下的文件名和文件夹名
import os
dir_path = './'
file_list = os.listdir(dir_path)
print(file_list)

输出结果:

[‘request_data’, ‘temp01.py’, ‘testcase’, ‘venv’]

注:有文件,也有文件夹

例2:仅获取当前目录下的文件路径、文件夹路径

def get_filepath(dir_path):
    file_list = os.listdir(dir_path)
    for file in file_list:
        file_path = os.path.join(dir_path, file)  # 拼接成路径
        print(file_path)
if __name__ == '__main__':
    get_filepath('./')

输出结果:

./request_data
./temp01.py
./testcase
./venv

例3:工作中实例

# 递归获取目录(文件夹)下的所有文件路径
import os
def get_filepath(dir_path, list_name):
    """递归获取目录下(文件夹下)所有文件的路径"""
    for file in os.listdir(dir_path):  # 获取文件(夹)名
        file_path = os.path.join(dir_path, file)  # 将文件(夹)名补全为路径
        if os.path.isdir(file_path):  # 如果是文件夹,则递归
            get_filepath(file_path, list_name)
        else:
            list_name.append(file_path)  # 保存路径
    return list_name
res = get_filepath('./')
for i in res:
    print(i)

输出结果:

…/log\bsp2_1_20210708.log
…/log\bsp2_1_20210709.log
…/log\bsp2_1_20210710.log
…/log\bsp2_1_20210711.log

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文