如何在 Nim 中列出目录中的项目

Net*_*tsu 2 nim-lang

我目前正在开发一个应用程序,该应用程序应该能够列出目录中的项目,但是,在查看 Nim 中的操作系统模块后,我找不到查看目录内内容的方法。有没有可能它还没有实现,或者我可能只是在错误的地方找到了这样的功能?

简而言之,我怎样才能看到 /home/username/Documents/ 里面的内容?我怎样才能在 Nim 中列出它的内容?

mkr*_*er1 6

您需要查看模块的迭代器os部分。

有用walkDir于此目的的相关迭代器:

iterator walkDir(dir: string; relative = false; checkDir = false): tuple[
    kind: PathComponent, path: string]
Run Code Online (Sandbox Code Playgroud)

遍历目录dir并生成 dir. 返回每个项目的组件类型和完整路径。

你可以这样使用它:

import os

for kind, path in walkDir("/home/username/Documents/"):
  case kind:
  of pcFile:
    echo "File: ", path
  of pcDir:
    echo "Dir: ", path
  of pcLinkToFile:
    echo "Link to file: ", path
  of pcLinkToDir:
    echo "Link to dir: ", path
Run Code Online (Sandbox Code Playgroud)