朱莉娅 - 奇怪的joinpath()行为

BAR*_*BAR 2 julia

这应该是给定路径的前缀:

date = Date(2016, 6, 3)
const FILEDATE_FORMAT = "YYYYmmdd"
const FILE_PATH_FORMAT = "/YYYY/mm/"

joinpath(
 "path-prefix",
  Dates.format(DateTime(date), FILE_PATH_FORMAT),
  Dates.format(DateTime(date), FILEDATE_FORMAT)
)
Run Code Online (Sandbox Code Playgroud)

预期: "/path-prefix/2016/06/20160603"

实际: "/2016/06/20160603"

这有什么不对?

Col*_*ers 5

在Linux上,/是根目录.由于您FILE_PATH_FORMAT使用的字符开始/,joinpath在解释这个作为根目录,并按照该函数的行为,它省略了之前由于路径已经绝对在于这一切.

解决的办法是刚落领先/FILE_PATH_FORMAT.

顺便说一句,我需要使用yyyy,而不是YYYY在我的系统上.不确定为什么YYYY适合你......