作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试列出所有目录(/home/目录下一级)及其内容。此代码有效,但是当我将字典转换为 pandas 数据框时,目录名与文件名不匹配。
mypath='/home/'
from os import walk
myd=dict()
for (dirpath, dirnames, filenames) in walk(mypath):
for i in dirnames:
for (dirpath1, dirnames1, filenames1) in walk(i):
myd[i]=','.join(filenames1)
import pandas as pd
df=pd.DataFrame(myd , index=[0]).T
df.columns=['files']
pd.set_option('max_colwidth', 800)
df
有没有更好的方法来构建包含目录及其文件内容的 2 列数据框?
最佳答案
我不确定您的最终结果应该是什么样子,但是 os.walk
为你做完整的递归!无需在第二个循环中遍历 dirnames
:
import os
mypath = '/home/'
myd = {}
for (here, dirs, files) in os.walk(mypath):
for file in files:
myd[here] = '.'.join(files)
print(myd)
这是python 3代码; python 2 file
是关键字,不应用作变量名...
更新
如果您只需要在输入目录下一级,则无需walk
:
myd = {}
for name in os.listdir(mypath):
subdir = os.path.join(mypath, name)
if not os.path.isdir(subdir):
continue
myd[name] = '.'.join(os.listdir(subdir))
print(myd)
关于python - 遍历目录路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41312019/
我是一名优秀的程序员,十分优秀!