总体思路:
os.path.abspath('.') #获取当前路径
os.listdir #获取指定的文件夹包含的文件或文件夹的名字的列表
os.path.join #用获取的文件名拼接路径
os.path.isdir #判断路径是否为目录,用于递归
1 # -*- coding:utf-8 -*- 2 3 __author__='Dou—wei' 4 5 import os 6 import sys 7 8 file_name = sys.argv[1] #获取用户的终端输入以命名文件 9 start_path = os.path.abspath('.') #获取当前路径 10 host = os.path.join(start_path,file_name) #拼接路径 11 f = open(host,'w') #在拼接的路径创建可写文件 12 13 def search(path): 14 for x in os.listdir(path): # os.listdir(path)用于返回指定的文件夹包含的文件或文件夹的名字的列表 15 current_name = os.path.join(path,x) #拼接路径 16 f.write(current_name) #写入包含文件名的路径 17 f.write(' ') #换行 18 if os.path.isdir(current_name): #判断路径是否为目录 19 search(current_name) #递归执行,进一步探索 20 21 def main(): 22 try: 23 search(start_path) 24 except Exception,e: #输出错误信息 25 print e 26 27 if __name__=='__main__': 28 main()
大致效果: