整理文件时,想要树状输出文件夹中的目录结构,可以使用os.listdir()这个函数进行实现。
import os
import os.path
def dfs_show(path,depth):
if depth==0:
print("root:["+path+"]")
for item in os.listdir(path):
print("| "*depth+"+--"+item)
newitem=path+'/'+item
if os.path.isdir(newitem):
dfs_show(newitem,depth+1)
if __init__=="__main__":
dfs_show('/Users/mac/Desktop/score_card',0)
在本地测试输出结果:
root:[/Users/mac/Desktop/score_card]
+--.DS_Store
+--Untitled.ipynb
+--字段含义.xlsx
+--data.csv
+--评分卡模型完整流程.ipynb
+--规则过滤.ipynb
+--.ipynb_checkpoints
| +--Untitled-checkpoint.ipynb
+--dfs_print_path.py
+--Scorecard
| +--data_overview.py
| +--.DS_Store
| +--tmp_df.csv
| +--data_filter.py
| +--__pycache__
| | +--target_view.cpython-36.pyc
| | +--data_filter.cpython-36.pyc
| | +--output2excel.cpython-36.pyc
| | +--model_eva.cpython-36.pyc
| | +--miss_value_op.cpython-36.pyc
| | +--data_dist_exp.cpython-36.pyc
| | +--model_eval.cpython-36.pyc
| | +--data_overview.cpython-36.pyc
| | +--vars_bining.cpython-36.pyc
| +--model_eval.py
| +--vars_bining.py
| +--data_dist_exp.py
| +--target_view.py
| +--untitled2.py
| +--miss_value_op.py
在网上又找了关于os库的一些函数:
注:os库是Python标准库,包含几百个函数,常用路径操作、进程管理、环境参数等几类。os.path子库以path为入口,用于操作和处理文件路径。
import os.path as op
op.exists(path) # 判断path对应文件或目录是否存在,返回True或False
op.isfile(path) # 判断path所对应是否为已存在的文件,返回True或False
op.isdir(path) # 判断path所对应是否为已存在的目录,返回True或False
os.listdir() #获得当前文件夹下的所有文件
os.getcwd() #获得当前文件夹的绝对路径