输入一个路径,打印当前路径及子路径中的所有文件的绝对路径
import os
from os import path
def ergodic(file_path):
files = os.listdir(file_path)##列出该目录下的文件
try:##由于有的文件具有权限,无法访问,程序运行则马上终止,无法访问整个磁盘,这里采用try对异常进行处理。
for f in files:
f = path.join(file_path,f) ##路径拼接处理
if os.path.isfile(f): ##是文件则输出
file=open('练习5','a+',encoding='utf-8')
file.write(os.path.abspath(f))
print(os.path.abspath(f))
elif os.path.isdir(f):#文件夹则递归
ergodic(f)
except:
pass
while True:
file_path = input("请输入需要遍历的磁盘:")
if os.path.isdir(file_path):
ergodic(file_path)
break
else:
print("输入有误!请重新输入!")
continue