gpt4 book ai didi

haskell - Haskell 中的目录内容

转载 作者:行者123 更新时间:2023-12-03 20:27:58 24 4
gpt4 key购买 nike

有没有办法返回目录中的文件列表及其绝对路径。

当我做

getDirectoryContents dir

它给了我目录中的文件名列表。如果我在其他地方使用这些文件名,我需要知道它们的绝对路径或相对于当前工作目录的路径。

最佳答案

getAbsDirectoryContents :: FilePath -> IO [FilePath]
getAbsDirectoryContents dir =
getDirectoryContents dir >>= mapM (canonicalizePath . (dir </>))

这使用 System.Directory.canonicalizePath , 即使 dir 也能工作不是绝对路径(例如,如果您调用 getAbsDirectoryContents "foo",然后移动到文件系统中的其他位置)。

如果你知道 dir是绝对路径,您可以改为使用:
getAbsDirectoryContents :: FilePath -> IO [FilePath]
getAbsDirectoryContents dir = map (dir </>) <$> getDirectoryContents dir

它使用 System.FilePath.(</>) ,并且可能会更快一些。

关于haskell - Haskell 中的目录内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8572196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com