[TOC]
路径和名字的获取方式 import os,sys if __name__ == '__main__': filename = __file__ print("filename : ", filename) filepath = os.path.abspath(filename) print("filepath : ", filepath) dirname = os.path.dirname(__file__) print("dirname : ", dirname) dirpath = os.path.abspath(dirname) print("dirpath : ", dirpath) 输出: filename : C:/Users/dell/Desktop/git/SimpleStorageServer-Windows10/test.py filepath : C:\Users\dell\Desktop\git\SimpleStorageServer-Windows10\test.py dirname : C:/Users/dell/Desktop/git/SimpleStorageServer-Windows10 dirpath : C:\Users\dell\Desktop\git\SimpleStorageServer-Windows10 os.walk的用法 os.walk(directorypath, topdown=True, onerror=None, followlinks=False)
这里directorypath 必须是一个目录的路径,如果是一个文件的路径,则不会得到任何东西
第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。 dirpath 是一个string,代表目录的路径, dirnames 是一个list,包含了dirpath下所有子目录的名字。 filenames 是一个list,包含了非目录文件的名字。 这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).通过for循环自动完成递归枚举
import os,sys if __name__ == '__main__': filename = __file__ print("filename : ", filename) filepath = os.path.abspath(filename) print("filepath : ", filepath) dirname = os.path.dirname(__file__) print("dirname : ", dirname) dirpath = os.path.abspath(dirname) print("dirpath : ", dirpath) # for dirpaths, dirnames, filenames in os.walk(filepath): # print(dirpaths, dirnames, filenames) # for dirpaths, dirnames, filenames in os.walk(dirpath, topdown=False): for dirpaths, dirnames, filenames in os.walk(dirpath): print(dirpaths, dirnames, filenames) # print(dirpaths, filenames) # for i in filenames: # print(os.path.join(dirpaths,i)) # for j in dirnames: # print(os.path.join(dirpaths, j)) # pass 输出:
...