文件系统
# *`基地。讀!`*-Method
read(filename::AbstractString)
将文件的全部内容读取为 向量{UInt8}.
read(filename::AbstractString, String)
以字符串的形式读取文件的全部内容。
read(filename::AbstractString, args...)
打开文件并读取其内容。 阿格斯 被传递给 讀!:这相当于 打开(io->读取(io,args。..),文件名).
# *`基地。写`*-Method
write(filename::AbstractString, content)
编写规范的二进制表示 内容 到一个文件,如果它还不存在,将被创建,如果它确实存在,将被复盖。
返回写入文件的字节数。
# *`Base.Filesystem.cd`*-Method
cd(f::Function, dir::AbstractString=homedir())
暂时将当前工作目录更改为 署长,应用功能 f 最后回到原来的目录。
*例子*
julia> pwd()
"/home/JuliaUser"
julia> cd(readdir, "/home/JuliaUser/Projects/julia")
34-element Vector{String}:
".circleci"
".freebsdci.sh"
".git"
".gitattributes"
".github"
⋮
"test"
"ui"
"usr"
"usr-staging"
julia> pwd()
"/home/JuliaUser"
# *`基地。文件系统。雷迪尔`*-函数
readdir(dir::AbstractString=pwd();
join::Bool = false,
sort::Bool = true,
) -> Vector{String}
返回目录中的名称 署长 或当前工作目录,如果没有给出。 何时 加入 是假的, 雷迪尔 只返回目录中的名称,当 加入 是真的,它返回 连接路径(dir,名称) 对于每个 姓名 这样返回的字符串就是全路径。 如果要获取绝对路径,请调用 雷迪尔 具有绝对目录路径和 加入 设置为true。
默认情况下, 雷迪尔 对它返回的名称列表进行排序。 如果您想跳过对名称进行排序并按照文件系统列出它们的顺序获取它们,则可以使用 readdir(dir,sort=false) 选择退出排序。
请参阅: 步行,步行.
|
兼容性
朱莉娅1.4 |
*例子*
julia> cd("/home/JuliaUser/dev/julia")
julia> readdir()
30-element Vector{String}:
".appveyor.yml"
".git"
".gitattributes"
⋮
"ui"
"usr"
"usr-staging"
julia> readdir(join=true)
30-element Vector{String}:
"/home/JuliaUser/dev/julia/.appveyor.yml"
"/home/JuliaUser/dev/julia/.git"
"/home/JuliaUser/dev/julia/.gitattributes"
⋮
"/home/JuliaUser/dev/julia/ui"
"/home/JuliaUser/dev/julia/usr"
"/home/JuliaUser/dev/julia/usr-staging"
julia> readdir("base")
145-element Vector{String}:
".gitignore"
"Base.jl"
"Enums.jl"
⋮
"version_git.sh"
"views.jl"
"weakkeydict.jl"
julia> readdir("base", join=true)
145-element Vector{String}:
"base/.gitignore"
"base/Base.jl"
"base/Enums.jl"
⋮
"base/version_git.sh"
"base/views.jl"
"base/weakkeydict.jl"
julia> readdir(abspath("base"), join=true)
145-element Vector{String}:
"/home/JuliaUser/dev/julia/base/.gitignore"
"/home/JuliaUser/dev/julia/base/Base.jl"
"/home/JuliaUser/dev/julia/base/Enums.jl"
⋮
"/home/JuliaUser/dev/julia/base/version_git.sh"
"/home/JuliaUser/dev/julia/base/views.jl"
"/home/JuliaUser/dev/julia/base/weakkeydict.jl"
# *`基地。文件系统。步行,步行`*-函数
walkdir(dir = pwd(); topdown=true, follow_symlinks=false, onerror=throw)
返回遍历目录的目录树的迭代器。
迭代器返回一个包含 (路径,dirs,文件). 每次迭代 路径 将更改到树中的下一个目录;然后 迪尔斯 和 档案 将是包含当前目录和文件的向量 路径 目录。 目录树可以自上而下或自下而上遍历。 如果 步行,步行 或 统计资料 遇到a IOError 它会在默认情况下重新抛出错误。 可以通过以下方式提供自定义错误处理功能 n.错误,错误 关键字参数。 n.错误,错误 用一个 IOError 作为论据。 返回的迭代器是有状态的,因此当重复访问时,每个访问将在最后一次离开的地方恢复,例如 迭代器。有状态的.
请参阅: 雷迪尔.
|
兼容性
朱莉娅1.12 |
*例子*
for (path, dirs, files) in walkdir(".")
println("Directories in $path")
for dir in dirs
println(joinpath(path, dir)) # path to directories
end
println("Files in $path")
for file in files
println(joinpath(path, file)) # path to files
end
end
julia> mkpath("my/test/dir");
julia> itr = walkdir("my");
julia> (path, dirs, files) = first(itr)
("my", ["test"], String[])
julia> (path, dirs, files) = first(itr)
("my/test", ["dir"], String[])
julia> (path, dirs, files) = first(itr)
("my/test/dir", String[], String[])
# *`基地。文件系统。mkdir`*-函数
mkdir(path::AbstractString; mode::Unsigned = 0o777)
用名称创建一个新目录 路径 和权限 模式. 模式 默认值为 0o777,由当前文件创建掩码修改。 此函数永远不会创建多个目录。 如果目录已经存在,或者某些中间目录不存在,则此函数会引发错误。 见 mkpath用于创建所有必需的中间目录的函数。 回来吧 路径.
*例子*
julia> mkdir("testingdir")
"testingdir"
julia> cd("testingdir")
julia> pwd()
"/home/JuliaUser/testingdir"
# *`基地。文件系统。mkpath`*-函数
mkpath(path::AbstractString; mode::Unsigned = 0o777)
在 路径 根据需要。 目录是用权限创建的 模式 默认为 0o777 并被当前文件创建掩码修改。 不像 mkdir, mkpath 如果没有错误 路径 (或其部分)已经存在。 但是,如果 路径 (或其部分)指向现有文件。 回来吧 路径.
如果 路径 包含您可能想要使用的文件名 mkpath(dirname(path)) 以避免使用文件名创建目录。
*例子*
julia> cd(mktempdir())
julia> mkpath("my/test/dir") # creates three directories
"my/test/dir"
julia> readdir()
1-element Vector{String}:
"my"
julia> cd("my")
julia> readdir()
1-element Vector{String}:
"test"
julia>readdir("测试")
1元素向量{String}:
"署长"
julia>mkpath("intermediate_dir/actually_a_directory。txt")#创建两个目录
"intermediate_dir/actually_a_directory。txt"
julia>isdir("intermediate_dir/actually_a_directory.txt")
真的
julia>mkpath("my/test/dir/")#返回原始 `路径`
"我的/测试/目录/"
# *`基地。文件系统。符号链接`*-函数
symlink(target::AbstractString, link::AbstractString; dir_target = false)
创建一个符号链接到 目标 带着名字 连结.
在Windows上,符号链接必须显式声明为是否引用目录。 如果 目标 已经存在,默认情况下, 连结 将自动检测,但是,如果 目标 不存在,此函数默认为创建文件符号链接,除非 dir_target 被设置为 真的. 请注意,如果用户设置 dir_target 但是 目标 存在并且是一个文件,仍然会创建一个目录符号链接,但取消引用符号链接将失败,就像用户创建文件符号链接一样(通过调用 符号链接() 与 dir_target 设置为 错误 目录创建之前)并尝试将其取消引用到目录。
此外,在Windows上创建链接有两种方法:符号链接和连接点。 连接点的效率稍高,但不支持相对路径,因此如果请求相对目录符号链接(由 isabspath(目标) 回来了 错误)将使用符号链接,否则将使用连接点。 在Windows上创建符号链接的最佳做法是仅在它们引用的文件/目录已创建后才创建它们。
请参阅: 硬链接.
|
注意此函数在不支持软符号链接的操作系统(如Windows XP)下引发错误。 |
|
兼容性
朱莉娅1.6 |
# *`基地。文件系统。chmod的`*-函数
chmod(path::AbstractString, mode::Integer; recursive::Bool=false)
更改权限模式 路径 到 模式. 只有整数 模式s(例如 0o777)目前支持。 如果 递归=真 路径是一个目录,该目录中的所有权限将被递归地更改。 回来吧 路径.
|
注意在Julia1.6之前,这并没有正确操作Windows上的文件系统Acl,因此它只会在文件上设置只读位。 它现在能够操作Acl。 |
# *`基地。文件系统。chown`*-函数
chown(path::AbstractString, owner::Integer, group::Integer=-1)
更改业主及/或组 路径 到 业主 和/或 团体. 如果输入的值为 业主 或 团体 是 -1 对应的ID不会改变。 只有整数 业主s和 团体目前支持s。 回来吧 路径.
# *`基地。统计资料`*-函数
stat(path)
stat(path_elements...)
返回一个结构,其字段包含有关文件的信息。 如果给出了多个参数,则它们由 连接路径.
结构的字段是:
| 姓名 | 类型 | 资料描述 |
|---|---|---|
desc |
|
路径或OS文件描述符 |
大小 |
|
文件的大小(以字节为单位) |
设备 |
|
包含文件的设备的ID |
inode,inode |
|
文件的inode号 |
模式 |
|
文件的保护模式 |
n链接 |
|
文件的硬链接数 |
uid |
|
文件所有者的用户id |
吉德 |
|
文件所有者的组id |
rdev,rdev |
|
如果此文件引用设备,则它引用的设备的ID |
大厦尺寸 |
|
文件系统首选的文件块大小 |
街区 |
|
分配的512字节块数 |
m时间 |
|
上次修改文件时的Unix时间戳 |
时间 |
|
更改文件元数据时的Unix时间戳 |
# *`基地。文件系统。磁盘统计`*-函数
diskstat(path=pwd())
返回有关包含指向的文件或目录的磁盘的统计信息(以字节为单位) 路径. 如果没有传递参数,则返回有关包含当前工作目录的磁盘的统计信息。
|
兼容性
Julia1.8这种方法是在Julia1.8中加入的。 |
# *`基地。文件系统。时间`*-函数
ctime(path)
ctime(path_elements...)
ctime(stat_struct)
返回文件的元数据在 路径 被最后修改,或者由文件描述符指示的最后修改的元数据时间戳 stat_结构.
相当于 stat(路径)。时间 或 stat_struct。时间.
# *`基地。文件系统。m时间`*-函数
mtime(path)
mtime(path_elements...)
mtime(stat_struct)
返回文件在 路径 被最后修改,或由文件描述符指示的最后修改时间戳 stat_结构.
相当于 stat(路径)。m时间 或 stat_struct。m时间.
# *`基地。文件系统。文件模式`*-函数
filemode(path)
filemode(path_elements...)
filemode(stat_struct)
返回位于文件的模式 路径,或文件描述符所指示的模式 stat_结构.
相当于 stat(路径)。模式 或 stat_struct。模式.
# *`基地。文件化`*-函数
filesize(path)
filesize(path_elements...)
filesize(stat_struct)
返回位于 路径,或文件描述符所指示的大小 stat_结构.
相当于 stat(路径)。大小 或 stat_struct。大小.
# *`基地。文件系统。乌珀姆`*-函数
uperm(path)
uperm(path_elements...)
uperm(stat_struct)
返回文件的所有者权限的位字段 路径 或文件描述符 stat_结构.
| 价值 | 资料描述 |
|---|---|
01 |
执行权限 |
02 |
写权限 |
04 |
读取权限 |
返回位字段的事实意味着如果权限为read+write,则位字段为"110",它映射到0+2+4=6. 这反映在返回的打印中 UInt8 价值。
julia> touch("dummy_file"); # Create test-file without contents
julia> uperm("dummy_file")
0x06
julia> bitstring(ans)
"00000110"
julia> has_read_permission(path) = uperm(path) & 0b00000100 != 0; # Use bit mask to check specific bit
julia> has_read_permission("dummy_file")
true
julia> rm("dummy_file") # Clean up test-file
# *`基地。文件系统。cp/cp`*-函数
cp(src::AbstractString, dst::AbstractString; force::Bool=false, follow_symlinks::Bool=false)
复制文件、链接或目录 src公司 到 dst. 力=真 将首先删除现有的 dst.
如果 follow_symlinks=false,而 src公司 是符号链接, dst 将创建为符号链接。 如果 follow_symlinks=true 和 src公司 是符号链接, dst 将是文件或目录的副本 src公司 指的。 回来吧 dst.
|
注意 |
# *`基地。下载`*-函数
download(url::AbstractString, [path::AbstractString = tempname()]) -> path
从给定的url下载文件,将其保存到该位置 路径,或者如果未指定,则临时路径。 返回下载文件的路径。
|
请注意,自Julia1.6以来,此函数已被弃用,只是一个精简的包装器 |
# *`Base.Filesystem.mv`*-函数
mv(src::AbstractString, dst::AbstractString; force::Bool=false)
将文件、链接或目录从 src公司 到 dst. 力=真 将首先删除现有的 dst. 回来吧 dst.
*例子*
julia> write("hello.txt", "world");
julia> mv("hello.txt", "goodbye.txt")
"goodbye.txt"
julia> "hello.txt" in readdir()
false
julia> readline("goodbye.txt")
"world"
julia> write("hello.txt", "world2");
julia> mv("hello.txt", "goodbye.txt")
ERROR: ArgumentError: 'goodbye.txt' exists. `force=true` is required to remove 'goodbye.txt' before moving.
Stacktrace:
[1] #checkfor_mv_cp_cptree#10(::Bool, ::Function, ::String, ::String, ::String) at ./file.jl:293
[...]
julia> mv("hello.txt", "goodbye.txt", force=true)
"goodbye.txt"
julia> rm("goodbye.txt");
|
注意 |
# *`基地。文件系统。重命名`*-函数
Base.rename(oldpath::AbstractString, newpath::AbstractString)
从以下位置更改文件或目录的名称 老路 到 新路径. 如果 新路径 是一个现有的文件或空目录,它可以被替换。 相当于https://man7.org/linux/man-pages/man2/rename.2.html Unix上的[rename(2)]。 如果一个路径包含一个"\0"抛出一个 [医]争论者. 在其他故障抛出一个 IOError. 回来吧 新路径.
这是用于实现的较低级别的文件系统操作 mv.
以下情况可能适用特定于操作系统的限制 老路 和 新路径 在不同的目录中。
目前,Windows上的行为存在一些差异,可能会在未来的版本中解决。 具体来说,目前在Windows:
-
重命名将失败,如果老路或新路径打开的文件。 -
重命名将失败,如果新路径是现有目录。 -
重命名可能工作,如果新路径是一个文件和老路是一个目录。 -
重命名可以删除老路如果它是一个硬链接到新路径.
请参阅: mv.
|
兼容性
Julia1.12此方法在Julia1.12中公开。 |
# *`基地。文件系统。rm`*-函数
rm(path::AbstractString; force::Bool=false, recursive::Bool=false)
删除给定路径下的文件、链接或空目录。 如果 力=真 被传递,不存在的路径不被视为错误。 如果 递归=真 传递并且路径是一个目录,然后递归地删除所有内容。
*例子*
julia> mkpath("my/test/dir");
julia> rm("my", recursive=true)
julia> rm("this_file_does_not_exist", force=true)
julia> rm("this_file_does_not_exist")
ERROR: IOError: unlink("this_file_does_not_exist"): no such file or directory (ENOENT)
Stacktrace:
[...]
# *`基地。文件系统。触摸`*-函数
Base.touch(::Pidfile.LockMonitor)
更新 m时间 在锁上,表明它仍然是新鲜的.
请参阅 刷新 关键字在 [医mkpid锁]构造函数。
touch(path::AbstractString)
touch(fd::File)
将文件上上次修改的时间戳更新为当前时间。
如果文件不存在,则会创建一个新文件。
回来吧 路径.
*例子*
julia> write("my_little_file", 2);
julia> mtime("my_little_file")
1.5273815391135583e9
julia> touch("my_little_file");
julia> mtime("my_little_file")
1.527381559163435e9
我们可以看到 m时间已被修改 触摸.
# *`基地。文件系统。临时名称`*-函数
tempname(parent=tempdir(); cleanup=true, suffix="") -> String
生成临时文件路径。 此函数只返回路径;不创建文件。 该路径可能是唯一的,但由于两个同时调用到的非常远程的可能性,不能保证这一点 临时名称 生成相同的文件名。 该名称保证与调用时已存在的所有文件不同。 临时名称.
当没有参数调用时,临时名称将是系统临时目录中临时名称的绝对路径,如下所示 tempdir(). 如果一个 家长/家长 给出了目录参数,临时路径将在该目录中。 如果给出后缀,tempname将以该后缀结尾,并测试该后缀的唯一性。
该 清理工作 option控制进程退出时是否尝试自动删除返回的路径。 请注意, 临时名称 函数不会在返回的位置创建任何文件或目录,因此除非您在那里创建文件或目录,否则没有任何清理。 如果你这样做, 清理工作 是 真的 它将在进程终止时被删除。
|
兼容性
朱莉娅1.4 |
|
兼容性
朱莉娅1.12 |
|
警告如果另一个进程获得相同的文件名并在您能够之前创建该文件,则这可能会导致安全漏洞。 打开文件 |
# *`基地。文件系统。[医]tempdir`*-函数
tempdir()
获取临时目录的路径。 在Windows上, tempdir() 使用有序列表中找到的第一个环境变量 TMP, 临时工, 用户文件. 在所有其他操作系统上, tempdir() 使用有序列表中找到的第一个环境变量 [医]TMPDIR, TMP, 临时工,而 [医]TEMPDIR. 如果没有找到这些,则路径 "/tmp" 被使用。
# *`基地。文件系统。mktemp`*-Method
mktemp(parent=tempdir(); cleanup=true) -> (path, io)
回来吧 (路径,io),在哪里 路径 是一个新的临时文件的路径 家长/家长 和 伊俄 是此路径的打开文件对象。 该 清理工作 option控制进程退出时是否自动删除临时文件。
|
兼容性
朱莉娅1.3 |
# *`基地。文件系统。mktemp`*-Method
mktemp(f::Function, parent=tempdir())
应用函数 f 到的结果 mktemp(家长)并在完成后删除临时文件。
请参阅: mktempdir.
# *`基地。文件系统。mktempdir`*-Method
mktempdir(parent=tempdir(); prefix="jl_", cleanup=true) -> path
在 家长/家长 从给定的目录中构造一个名称的目录 前缀 和随机后缀,并返回其路径。 此外,在某些平台上,任何尾随 'X' 字符 前缀 可以用随机字符替换。 如果 家长/家长 不存在,抛出错误。 该 清理工作 option控制进程退出时是否自动删除临时目录。
|
兼容性
朱莉娅1.2 |
|
兼容性
朱莉娅1.3 |
# *`基地。文件系统。mktempdir`*-Method
mktempdir(f::Function, parent=tempdir(); prefix="jl_")
应用函数 f 到的结果 mktempdir(父;前缀)并在完成后删除临时目录及其所有内容。
|
兼容性
朱莉娅1.2 |
# *`基地。文件系统。伊斯布洛克德夫`*-函数
isblockdev(path) -> Bool
isblockdev(path_elements...) -> Bool
isblockdev(stat_struct) -> Bool
回来吧 真的 如果路径 路径 或文件描述符 stat_结构 参考块设备, 错误 否则。
# *`基地。文件系统。伊斯查德夫`*-函数
ischardev(path) -> Bool
ischardev(path_elements...) -> Bool
ischardev(stat_struct) -> Bool
回来吧 真的 如果路径 路径 或文件描述符 stat_结构 参考字符设备, 错误 否则。
# *`基地。文件系统。isfifo`*-函数
isfifo(path) -> Bool
isfifo(path_elements...) -> Bool
isfifo(stat_struct) -> Bool
回来吧 真的 如果文件在 路径 或文件描述符 stat_结构 是FIFO, 错误 否则。
# *`基地。文件系统。文件;文件`*-函数
isfile(path) -> Bool
isfile(path_elements...) -> Bool
回来吧 真的 如果 路径 指向常规文件, 错误 否则。
*例子*
julia> isfile(homedir())
false
julia> filename = "test_file.txt";
julia> write(filename, "Hello world!");
julia> isfile(filename)
true
julia> rm(filename);
julia> isfile(filename)
false
# *`基地。文件系统。伊斯林克`*-函数
islink(path) -> Bool
islink(path_elements...) -> Bool
回来吧 真的 如果 路径 指向符号链接, 错误 否则。
# *`基地。文件系统。ismount,ismount`*-函数
ismount(path) -> Bool
ismount(path_elements...) -> Bool
回来吧 真的 如果 路径 是挂载点, 错误 否则。
# *`基地。文件系统。伊塞特吉德`*-函数
issetgid(path) -> Bool
issetgid(path_elements...) -> Bool
issetgid(stat_struct) -> Bool
回来吧 真的 如果文件在 路径 或文件描述符 stat_结构 设置setgid标志, 错误 否则。
# *`基地。文件系统。伊塞图伊`*-函数
issetuid(path) -> Bool
issetuid(path_elements...) -> Bool
issetuid(stat_struct) -> Bool
回来吧 真的 如果文件在 路径 或文件描述符 stat_结构 设置setuid标志, 错误 否则。
# *`基地。文件系统。伊索克特`*-函数
issocket(path) -> Bool
issocket(path_elements...) -> Bool
回来吧 真的 如果 路径 指向套接字, 错误 否则。
# *`基地。文件系统。伊斯蒂基`*-函数
issticky(path) -> Bool
issticky(path_elements...) -> Bool
issticky(stat_struct) -> Bool
回来吧 真的 如果文件在 路径 或文件描述符 stat_结构 设置粘性位, 错误 否则。
# *`基地。文件系统。伊莎斯帕特`*-函数
isabspath(path::AbstractString) -> Bool
确定路径是否为绝对路径(从根目录开始)。
*例子*
julia> isabspath("/home")
true
julia> isabspath("home")
false
# *`基地。文件系统。isdirpath`*-函数
isdirpath(path::AbstractString) -> Bool
确定路径是否引用目录(例如,以路径分隔符结尾)。
*例子*
julia> isdirpath("/home")
false
julia> isdirpath("/home/")
true
# *`基地。文件系统。连接路径`*-函数
joinpath(parts::AbstractString...) -> String
joinpath(parts::Vector{AbstractString}) -> String
joinpath(parts::Tuple{AbstractString}) -> String
将路径组件连接到完整路径中。 如果某个参数是绝对路径,或者(在Windows上)的驱动器规范与为上述路径的连接计算的驱动器不匹配,则会删除先前的组件。
注意在Windows上,因为每个驱动器都有一个当前目录, joinpath("c:","foo") 表示相对于驱动器"c:"上的当前目录的路径,因此这等于"c:foo",而不是"c:\foo"。 此外, 连接路径 将其视为非绝对路径,并忽略驱动器号大小写,因此 joinpath("C:\A","c:b")="C:\A\b".
*例子*
julia> joinpath("/home/myuser", "example.jl")
"/home/myuser/example.jl"
julia> joinpath(["/home/myuser", "example.jl"])
"/home/myuser/example.jl"
# *`基地。文件系统。[医]abs路径`*-函数
abspath(path::AbstractString, paths::AbstractString...) -> String
通过将一组路径连接在一起并在必要时添加当前目录,将它们转换为绝对路径。 相当于 abpath(joinpath(path,paths...)).
abspath(path::AbstractString) -> String
如果需要,通过添加当前目录将路径转换为绝对路径。 也将路径规范化为 规范路径.
*例子*
如果你在一个名为 朱利亚例子 您正在使用的数据相对于 朱利亚例子 目录,你可以写:
abspath("../../data")
这给出了一条像 "/home/JuliaUser/数据/".
# *`基地。文件系统。规范路径`*-函数
normpath(path::AbstractString, paths::AbstractString...) -> String
将一组路径转换为标准化路径,方法是将它们连接在一起并删除"。"和"。."参赛作品。 相当于 normpath(joinpath(path,paths...)).
normpath(path::AbstractString) -> String
规范化路径,删除"。"和"。."条目和更改"/"为系统的规范路径分隔符。
*例子*
julia> normpath("/home/myuser/../example.jl")
"/home/example.jl"
julia> normpath("Documents/Julia") == joinpath("Documents", "Julia")
true
# *`基地。文件系统。真实路径`*-函数
realpath(path::AbstractString) -> String
通过展开符号链接并删除"来规范路径。"和"。."参赛作品。 在不区分大小写的保留大小写的文件系统(通常是Mac和Windows)上,将返回文件系统存储的路径大小写。
(此函数抛出异常,如果 路径 文件系统中不存在。)
# *`基地。文件系统。[医]路径`*-函数
relpath(path::AbstractString, startpath::AbstractString = ".") -> String
返回一个相对的filepath到 路径 从当前目录或从可选的开始目录。 这是一个路径计算:文件系统不被访问以确认 路径 或 开始路径.
在Windows上,区分大小写应用于除驱动器号之外的路径的每个部分。 如果 路径 和 开始路径 参考不同的驱动器,绝对路径 路径 被退回。
# *`基地。文件系统。分裂,分裂`*-函数
splitdir(path::AbstractString) -> (AbstractString, AbstractString)
将路径拆分为目录名和文件名的元组。
*例子*
julia> splitdir("/home/myuser")
("/home", "myuser")
# *`基地。文件系统。分裂驱动,分裂驱动`*-函数
splitdrive(path::AbstractString) -> (AbstractString, AbstractString)
在Windows上,将路径拆分为驱动器号部分和路径部分。 在Unix系统上,第一个组件始终是空字符串。
# *`基地。文件系统。分裂文本`*-函数
splitext(path::AbstractString) -> (String, String)
如果路径的最后一个组件包含一个或多个点,则将路径拆分为最后一个点之前的所有内容以及包括点和点之后的所有内容。 否则,返回未修改的参数和空字符串的元组。 "splitext"是"拆分扩展"的简称。
*例子*
julia> splitext("/home/myuser/example.jl")
("/home/myuser/example", ".jl")
julia> splitext("/home/myuser/example.tar.gz")
("/home/myuser/example.tar", ".gz")
julia> splitext("/home/my.user/example")
("/home/my.user/example", "")
# *`基地。文件系统。分裂路径`*-函数
splitpath(path::AbstractString) -> Vector{String}
将文件路径拆分为其所有路径组件。 这是相反的 连接路径. 返回子字符串数组,每个子字符串对应路径中的每个目录或文件,包括根目录(如果存在)。
|
兼容性
Julia1.1此功能至少需要Julia1.1。 |
*例子*
julia> splitpath("/home/myuser/example.jl")
4-element Vector{String}:
"/"
"home"
"myuser"
"example.jl"