我已经创建了一个包,现在正在这个包中创建我的测试。对于一个测试,我的输入是一组文件,我的输出将是一个不同的集,一个在测试中创建的文件。
我正在将输入文件保存在我的包的测试目录中,并希望将输出文件也保存在那里。由于其他人可能运行此测试,我不希望使用我自己的路径(如/home/myname/.julia/v4.0/MyPackage/test/MyInputFile.txt )指定输入/输出文件位置,如何指定输入位置在包的测试文件夹中?
因此,基本上如何告诉Julia查看测试目录下的包文件夹,而不必担心指定整个路径,包括用户名等?
例如,目前我不得不说
readtable(/home/myname/.julia/v4.0/MyPackage/test/MyInputFile.txt, separator = '\t', header = false)但我只想说
readtable(/MyPackage/test/MyInputFile.txt, separator = '\t', header = false)这样,不管包的用户是谁,或者他们可以在哪里存储包,他们仍然可以运行测试吗?
我知道LOAD_PATH给出了朱莉娅查找包的路径,但是我在导入文件时找不到任何关于它的位置的信息。
发布于 2016-06-23 02:05:02
正如@GnimucK在一条评论中提到的,更好的解决方案是
dirname(@__FILE__)为什么这样更好?可以在其他地方安装和使用包(而不是标准的包目录)。Pkg.dir是“愚蠢的”,不知道更多。当然,这是罕见的,而且在大多数情况下,这并不重要。
发布于 2016-06-23 00:50:01
joinpath(Pkg.dir("MyPackage"), "test")是你所需要的。
https://stackoverflow.com/questions/37979741
复制相似问题