import os
def listdirs(url):
url = r'' + url
if os.path.isdir(url):
lis = os.listdir(url)
for i in lis:
path = url + os.sep + i
if os.path.isfile(path):
f = open('listdir.txt', 'a+')
f.write(path + '\n')
f.close()
else:
path = url + os.sep + i
listdirs(path)
print('遍历{}目录完成'.format(url))
else:
print('并非合法目录')
url = input('请输入合法地址:')
listdirs(url)
if __name__ == '__main__':
url = input('请输入合法地址:')
listdirs(url)
学习成果:
1.学习部分os模块函数:
os.listdir(path) | 返回path指定的文件夹包含的文件或文件夹的名字的列表。 |
os.sep | 代表当前操作系统特定的路径分割符 |
os.path.isdir(path) | 判断路径是否为目录 |
os.path.isfile(path) | 判断路径是否为文件 |
2.了解python内置函数open(name[, mode[, bufferinng]])及相关知识:
常见mode有'r','r+','w','w+','a','a+'。
open()创建一个可迭代的file对象。
read() 方法用于从文件读取指定的字节数,如果未给定或为负则读取所有,每次读取后指针都会移动至读取末尾。
write() 方法用于向文件中写入指定字符串。
在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的。
3.递归遍历为深度遍历。
4.os模块有更简便的函数os.walk进行目录遍历。