python遍历文件目录_python 获取Windows路径并遍历文件

接着子琂:Python tkinter 学习实践​zhuanlan.zhihu.comzhihu-card-default.svg

往下记录。

框架搭好了,接下来实现核心需求,遍历路径下的文件,获取其名称和类型。

首先是需要获取路径,手动输入太low,于是就需要用到tkFD.askdirectory(),用于呼出文件选择弹框。

路径选择好之后,需要将路径值返回,传递到输入框entry中。这里用到了 text.set(filename)

如果你对布局还不清楚,建议先阅读上一篇:子琂:Python tkinter 学习实践​zhuanlan.zhihu.comzhihu-card-default.svg

#输入框 定义一个字符串obj接收、传递数值

text = StringVar()

text是再main方法中定义的一个用于传递值的变量。

def getway():

filename=tkFD.askdirectory()

text.set(filename)

搞定路径之后,自然就是要遍历文件了。

遍历文件,我最开始想到的是 cmd的 cd 路径、 dir 命令,可以打印输出文件名称列表

自然,有了想法,再借助一下度娘,找到了:os.listdir(dir)可以获取文件的列表。

text.get()是获取输入框entry传过来的值

lis = os.listdir(text.get())

获取列表之后,接下来就要构造DataFrame。

def show():

s = os.path.realpath(text.get())

#print(s) #获取当前文件路径

#print(os.path.dirname(os.path.realpath(text.get()))) # 从当前文件路径中获取目录

#print(os.path.basename(os.path.realpath(text.get()))) #获取文件名

lis = os.listdir(text.get())

tab = []

leixin='未知'

for i in lis:

if '.' not in i:

leixin = '文件夹'

else:

leixin = '.'+i.split(".")[1]

c = {'文件类型':leixin,'文件名称':i}

tab.append(c)

df = pd.DataFrame(tab)

to_Excel(df=df,name='文件列表',where=os.getcwd()+'/文件列表.xlsx')

os.system("文件列表.xlsx")

DataFrame包含两列,文件类型和文件名称。

之后再用自定义函数

to_Excel(df=df,name='文件列表',where=os.getcwd()+'/文件列表.xlsx')

实现将DataFrame输出到excel当中,并用os.system("文件列表.xlsx")命令驱动其打开。

欢迎有兴趣的朋友一起交流学习:

wf342502

下一篇将接着讲剩下的:to_Excel 以及.py如何转换到.exe子琂:DataFrame 到 excel及.py到.exe​zhuanlan.zhihu.comzhihu-card-default.svg