Nim 每日早茶
如何使用Nim语言获取给定路径的文件
递归地获取指定路径下的内容
walkDirRec 函数用来递归地获取指定路径下的内容。
import os, re
for file in walkDirRec "../":
if file.match re".*\.md":
echo file
输出:
..\tnim\README.md
..\timeit\README.md
..\structure\单链表.md
..\scinim\index.md
..\scinim\windows.md
..\scim\README.md
..\scim\src\scim\record.md
..\replim-master\README.md
..\replim-master\TODO.md
..\nrpl\README.md
..\nisp\README.md
非递归地获取指定路径下的内容
walkFiles 函数用于非递归匹配指定路径下的文件,支持特定模式匹配,但是匹配方式是由平台决定的。但至少各个平台都支持通配符*匹配任意内容。
import os
for file in walkFiles "../arraymancer/*.md":
echo file
输出:
..\arraymancer\changelog.md
..\arraymancer\Contributors.md
..\arraymancer\README.md
walkDirs 函数用来非递归地匹配指定路径下文件夹。
for file in walkDirs "../arraymancer/*":
echo file
输出:
..\arraymancer\.git
..\arraymancer\benchmarks
..\arraymancer\docs
..\arraymancer\examples
..\arraymancer\src
..\arraymancer\tests
..\arraymancer\tools
walkPattern函数用来非递归匹配满足条件的文件以及文件夹。
import os
for file in walkPattern "../arraymancer/*":
echo file
输出:
..\arraymancer\.appveyor.yml
..\arraymancer\.git
..\arraymancer\.gitignore
..\arraymancer\.travis.yml
..\arraymancer\arraymancer.nimble
..\arraymancer\benchmarks
..\arraymancer\changelog.md
..\arraymancer\Contributors.md
..\arraymancer\docs
walkDir函数可以非递归地匹配给定路径下的内容的类型以及路径。
import os
for kind, file in walkDir("../", relative=true):
echo (kind, file)
输出:
(pcDir, ".git")
(pcFile, ".gitignore")
(pcFile, "Nim 语言中的死代码[dead code]消除.md")
(pcFile, "README.md")
(pcFile, "test.exe")
(pcFile, "test.nim")
(pcFile, "如何使用Nim语言获取给定路径的文件.md")
更多内容请查看官方标准库。
每日库推荐
arraymancer 是 Nim 语言中高性能、优雅的深度学习库,支持OpenMP,Cuda和OpenCL后端,可以在CPU,GPU和嵌入式设备上进行深度学习。