
path = '/'
for parent, dirnames, filenames in oswalk(path):
parent就是父级目录
dirnames就是该目录下面的子目录
filenames就是该目录下面的文件
如果想把该目录下所有的文件都统计出来,包括子目录、子目录的子目录。。。
可以使用oswalk来找出目录下所有的文件
import osprint sum([len(x) for _, _, x in oswalk(ospathdirname("test"))])
#test是目录名
oswalk会递归遍历指定目录下的文件,返回值分别为当前文件夹完整路径,当前文件夹中的文件夹和文件夹中的文件。我们只需要文件,所以其他的都不取出来了,直接使用"_"占位就行了。
如果只是想统计出当前目录下的文件,不包括子目录的。就使用oslistdir,只统计是文件的个数:
len([x for x in oslistdir(ospathdirname(__file__)) if ospathisfile(x)])主要是循环那段,没必要双重循环的。下面的代码就可以了。
import os
filenamelist=oslistdir(osgetcwd())
f=open('allfilenamestxt','w')
'''
length=len(filenamelist)
s=xrange(length)
for i in s:
while i < length-1:
i+=1
for n in filenamelist:
fwrite("%d%s\n" % (i,n))
'''
for i,n in enumerate(filenamelist):
fwrite("%d%s\n" % (i,n))
fclose()
刚好我前段时间写了一个日志分析工具、也是需要手动选择文件夹、然后列出整个文件夹里面的文件,然后双击选择
1、用tkinterfiledialog的filedialog来打开选择文件夹
2、用oslistdit()来显示文件夹里面的所有文件,当然你可以设置if条件,来选择你想显示的文件
代码;
#!/usr/bin/env python#!encoding:utf-8
#!filename:test_filedialogpy
import tkinterfiledialog as filedialog
from tkinter import
import os
from tkinter import
def callback():
entrydelete(0,END) #清空entry里面的内容
listbox_filenamedelete(0,END)
#调用filedialog模块的askdirectory()函数去打开文件夹
global filepath
filepath = filedialogaskdirectory()
if filepath:
entryinsert(0,filepath) #将选择好的路径加入到entry里面
print (filepath)
getdir(filepath)
def getdir(filepath=osgetcwd()):
"""
用于获取目录下的文件列表
"""
cf = oslistdir(filepath)
for i in cf:
listbox_filenameinsert(END,i)
if __name__ == "__main__":
root = Tk()
roottitle("测试版本")
rootgeometry("400x400")
rootrowconfigure(1, weight=1)
rootrowconfigure(2, weight=8)
entry = Entry(root, width=60)
entrygrid(sticky=W+N, row=0, column=0, columnspan=4, padx=5, pady=5)
button = Button(root,text="选择文件夹",command=callback)
buttongrid(sticky=W+N, row=1, column=0, padx=5, pady=5)
#创建loistbox用来显示所有文件名
listbox_filename = Listbox(root, width=60)
listbox_filenamegrid(row=2, column=0, columnspan=4, rowspan=4,
padx=5, pady=5, sticky=W+E+S+N)
rootmainloop()
效果图
望采纳
以上就是关于python怎么遍历一个目录下的所有目录全部的内容,包括:python怎么遍历一个目录下的所有目录、如何获取目录下的文件数(一行Python)、用python写的一段提取当前文件夹中的文件列表,并编号。代码如下,请教问题出在哪里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)