如何获取Python中给定目录中所有文件(和目录)的列表?
我遇到了某项任务.我想要的是一个函数,给定一个目录路径,将返回一个递归列表作为输出.
输出的格式应为myList $ dir $ subdir $ subdir $ fullFilePath
所以基本上我想将目录树表示为某个列表.我获取所有文件,获取每个文件的所有子目录,但我不知道如何将它全部扔进多个级别的列表中.
我喜欢unix find命令,但是当我想搜索我的项目在任何目录或子目录中的任何文件中查找一段文本时,我总觉得它太"繁琐".
有更简单的方法吗?
我需要在 Netlify 上列出我的站点目录的内容以进行调试,但我找不到打开目录列表的选项。Netlify 中没有mod_autoindex为 Apache 提供的自动索引功能,我对吗?
更新:我尝试用 生成索引tree -H '.' -L 1 > index.html,但没有安装 Netlify 的 `tree。也许在 Python、Ruby 或 npm 存储库中有替代方案?
我是emacs的新手,我正在尝试获取目录树.我已经关注了另一个StackOverFlow Emacs dirtree问题,我的.emacs和.emacs-d如下:
的.emacs
;; line number plugin
(add-to-list 'load-path' "~/.emacs-load-path")
(require 'linum)
(global-linum-mode 1)
;; auto complete plugin
(add-to-list 'load-path "~/.emacs.d")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
(ac-config-default)
;; directory tree plugin
(add-to-list 'load-path "~/.emacs.d")
(require 'dirtree)
(require 'tree-mode)
(require 'windata)
(autoload 'dirtree "dirtree" "Add directory to tree view" t)
Run Code Online (Sandbox Code Playgroud)
.emacs.d
dirtree.el
tree-mode.el
windata.el
Run Code Online (Sandbox Code Playgroud)
我的问题是:
我是否正确设置了,如果没有,我需要做什么?
你如何在emacs中启动和使用dirtree?
我在目录中有很多文件A.
与子目录的目录树中的一些这些文件的存在B/B1,B/B2,B/B3,B/B4,...请注意,某些文件在其名称中的空格.
例如:
在目录中A:
A/red file.png还有另一个名字 A/blue file.png
并且,在目录树中B:
有一个名为的文件 B/small/red file.png
在这个例子中,我想要一个脚本告诉我该目录blue file.png中不存在该文件B.
如何编写一个脚本,列出A目录树下找不到的所有文件B?
所以我似乎无法在任何地方找到一个很好的例子。我从这个从目录中选择随机文件的问题中找到了一个很好的例子,但我需要从目录树(未知深度)中选择一个随机文件。这段代码从 1 个目录中获取一个随机文件,但我对如何将它扩展到所有子目录感到困惑,我相信你们中的一个 LINQ 专家可以帮助我制作一些东西。
var extensions = new string[] { ".mp3" };
var di = new DirectoryInfo(MusicPath);
var rgFiles = di.GetFiles("*.*")
.Where( f => extensions.Contains( f.Extension.ToLower() ));
int fileCount = rgFiles.Count();
if (fileCount > 0)
{
int x = this.Generator.Next( 0, fileCount ); //Generator is 'Random' object
file = rgFiles.ElementAt(x).FullName;
}
Run Code Online (Sandbox Code Playgroud)