在OCaml的父目录中创建一个文件?

时间:2017-04-09 07:50:58

标签: file ocaml

这是我目前的目录结构

/project
   /code (source code)
   /build (contains the .exe)

部分源代码:

let () =
  let oc = open_out file in    (* create or truncate file, return channel *)
  fprintf oc "%s\n" message;   (* write something *)   
  close_out oc;  

如果我在/ build子目录中运行.exe,它将在/ build中创建输出文件。但我想创建一个名为result的新目录,并在其下创建输出文件。

新目录结构:

/project
  /code (source code)
  /build (contains the .exe)
  /result (contains the output file)

如何在父目录下创建新目录并使用OCaml将文件写入其中?谢谢!

1 个答案:

答案 0 :(得分:3)

如果您手动创建结果目录,则可以使用以下命令替换文件名:

let oc = open_out ("../result/"^file) in
...

如果您需要从程序中创建目录,可以使用Unix.mkdir "../result"。请务必将其包装在try ... with Unix.Error -> ...中以处理目录已存在的情况