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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。