Файловая система
#
Base.read
— Method
read(filename::AbstractString)
Считывает все содержимое файла как Vector{UInt8}
.
read(filename::AbstractString, String)
Считывает все содержимое файла как строку.
read(filename::AbstractString, args...)
Открывает файл и считывает его содержимое. args
передается в read
: это эквивалентно open(io->read(io, args...), filename)
.
#
Base.write
— Method
write(filename::AbstractString, content)
Записывает каноническое двоичное представление content
в файл, который будет создан, если он еще не существует, или перезаписан в противном случае.
Возвращает количество байтов, записанных в файл.
#
Base.Filesystem.cd
— Method
cd(f::Function, dir::AbstractString=homedir())
Временно изменяет текущий рабочий каталог на dir
, применяет функцию f
и производит возврат в исходный каталог.
Примеры
julia> pwd()
"/home/JuliaUser"
julia> cd(readdir, "/home/JuliaUser/Projects/julia")
34-element Array{String,1}:
".circleci"
".freebsdci.sh"
".git"
".gitattributes"
".github"
⋮
"test"
"ui"
"usr"
"usr-staging"
julia> pwd()
"/home/JuliaUser"
#
Base.Filesystem.readdir
— Function
readdir(dir::AbstractString=pwd();
join::Bool = false,
sort::Bool = true,
) -> Vector{String}
Возвращает имена в каталоге dir
или текущем рабочем каталоге, если тот не указан. Если join
имеет значение false, readdir
возвращает только имена в каталоге в исходном виде; если join
имеет значение true, он возвращает joinpath(dir, name)
для каждого name
, поэтому возвращаемые строки являются полными путями. Чтобы снова получить абсолютные пути, вызовите readdir
с абсолютным путем к каталогу и join
, имеющим значение true.
По умолчанию readdir
сортирует список возвращаемых имен. Чтобы пропустить сортировку имен и получить их в том порядке, в котором они указаны в файловой системе, можно использовать readdir(dir, sort=false)
.
См. также описание walkdir
.
Совместимость: Julia 1.4
Для именованных аргументов |
Примеры
julia> cd("/home/JuliaUser/dev/julia")
julia> readdir()
30-element Array{String,1}:
".appveyor.yml"
".git"
".gitattributes"
⋮
"ui"
"usr"
"usr-staging"
julia> readdir(join=true)
30-element Array{String,1}:
"/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 Array{String,1}:
".gitignore"
"Base.jl"
"Enums.jl"
⋮
"version_git.sh"
"views.jl"
"weakkeydict.jl"
julia> readdir("base", join=true)
145-element Array{String,1}:
"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 Array{String,1}:
"/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"
#
Base.Filesystem.walkdir
— Function
walkdir(dir; topdown=true, follow_symlinks=false, onerror=throw)
Возвращает итератор, который проходит по дереву каталогов. Итератор возвращает кортеж, содержащий (rootpath, dirs, files)
. По дереву каталогов можно проходить сверху вниз или снизу вверх. Если walkdir
или stat
обнаруживает IOError
, будет повторно выведена ошибка по умолчанию. Функцию обработки пользовательских ошибок можно предоставить с помощью именованного аргумента onerror
. onerror
вызывается с IOError
в качестве аргумента.
См. также описание readdir
.
Примеры
for (root, dirs, files) in walkdir(".")
println("Directories in $root")
for dir in dirs
println(joinpath(root, dir)) # путь к каталогам
end
println("Files in $root")
for file in files
println(joinpath(root, file)) # путь к файлам
end
end
julia> mkpath("my/test/dir");
julia> itr = walkdir("my");
julia> (root, dirs, files) = first(itr)
("my", ["test"], String[])
julia> (root, dirs, files) = first(itr)
("my/test", ["dir"], String[])
julia> (root, dirs, files) = first(itr)
("my/test/dir", String[], String[])
#
Base.Filesystem.mkdir
— Function
mkdir(path::AbstractString; mode::Unsigned = 0o777)
Создает каталог с именем path
и разрешениями mode
. Значение mode
по умолчанию — 0o777
. Оно изменяется текущей маской создания файла. Эта функция никогда не создает больше одного каталога. Если каталог уже существует или не существуют некоторые промежуточные каталоги, эта функция выдает ошибку. Сведения о функции, которая создает все необходимые промежуточные каталоги, см. в описании mkpath
. Возвращает path
.
Примеры
julia> mkdir("testingdir")
"testingdir"
julia> cd("testingdir")
julia> pwd()
"/home/JuliaUser/testingdir"
#
Base.Filesystem.mkpath
— Function
mkpath(path::AbstractString; mode::Unsigned = 0o777)
Создает все необходимые промежуточные каталоги в path
. Каталоги создаются с разрешениями mode
, имеющим по умолчанию значение 0o777
и изменяемым текущей маской создания файла. В отличие от mkdir
, mkpath
не выдает ошибку, если path
(или его части) уже существует. Однако ошибка выдается, если path
(или его части) указывает на существующий файл. Возвращает path
.
Если path
содержит имя файла, вы, вероятно, захотите использовать mkpath(dirname(path))
, чтобы не создавать каталог с использованием имени файла.
Примеры
julia> cd(mktempdir())
julia> mkpath("my/test/dir") # создает три каталога
"my/test/dir"
julia> readdir()
1-element Array{String,1}:
"my"
julia> cd("my")
julia> readdir()
1-element Array{String,1}:
"test"
julia> readdir("test")
1-element Array{String,1}:
"dir"
julia> mkpath("intermediate_dir/actually_a_directory.txt") # создает два каталога
"intermediate_dir/actually_a_directory.txt"
julia> isdir("intermediate_dir/actually_a_directory.txt")
true
#
Base.Filesystem.symlink
— Function
symlink(target::AbstractString, link::AbstractString; dir_target = false)
Создает символьную ссылку на target
с именем link
.
В Windows символьные ссылки должны быть явным образом объявлены как указывающие на каталог или нет. Если target
уже существует, по умолчанию тип link
будет определяться автоматически. Однако если target
не существует, эта функция по умолчанию будет создавать символьную ссылку на файл, если только dir_target
не присвоено значение true
. Обратите внимание, что если пользователь задает dir_target
, но target
существует и является файлом, символьная ссылка на каталог все равно будет создана, но ее разыменование завершится ошибкой, так же как если бы пользователь создал символьную ссылку на файл (вызвав symlink()
с dir_target
со значением false
до создания каталога) и попытался разыменовать ее для каталога.
Кроме того, в Windows существует два способа создания ссылки: символьные ссылки и точки соединения. Точки соединения немного более эффективны, но не поддерживают относительные пути, поэтому если запрашивается относительная символьная ссылка на каталог (как указано с помощью isabspath(target)
, возвращающего false
), будет использоваться символьная ссылка; в противном случае будет использоваться точка соединения. Создавать символьные ссылки в Windows рекомендуется только после создания файлов или каталогов, на которые они указывают.
См. также описание hardlink
.
Эта функция вызывает ошибку в операционных системах, которые не поддерживают мягкие символьные ссылки, таких как Windows XP. |
Совместимость: Julia 1.6
Именованный аргумент |
#
Base.Filesystem.readlink
— Function
readlink(path::AbstractString) -> String
Возвращает целевое расположение, на которое указывает символьная ссылка path
.
#
Base.Filesystem.chmod
— Function
chmod(path::AbstractString, mode::Integer; recursive::Bool=false)
Изменяет режим разрешений path
на mode
. На данный момент поддерживаются только целочисленные mode
(например, 0o777
). . Если recursive=true
и путь является каталогом, все разрешения в этом каталоге будут изменены рекурсивно. Возвращает path
.
До версии Julia 1.6 было невозможно корректно работать с ACL файловой системы в Windows, поэтому в файлах задавались биты только для чтения. Теперь появилась возможность управлять списками ACL. |
#
Base.Filesystem.chown
— Function
chown(path::AbstractString, owner::Integer, group::Integer=-1)
Изменяет владельца и (или) группы path
на owner
и (или) group
. Если для owner
или group
введено значение -1
, соответствующий идентификатор не изменится. На данный момент поддерживаются только целочисленные owner
и group
. Возвращает path
.
#
Base.Libc.RawFD
— Type
RawFD
Примитивный тип, который заключает в оболочку собственный дескриптор файла ОС. RawFD
можно передавать в такие методы, как stat
, для обнаружения информации о базовом файле, а также можно использовать для открытия потоков с RawFD
, описывающим файл ОС, поддерживающий поток.
#
Base.stat
— Function
stat(file)
Возвращает структуру, поля которой содержат информацию о файле. Поля структуры приведены ниже.
Имя | Тип | Описание |
---|---|---|
desc |
|
Путь или дескриптор файла ОС |
size |
|
Размер файла (в байтах) |
device |
|
Идентификатор устройства, содержащего файл |
inode |
|
Номер индексного дескриптора файла |
mode |
|
Режим защиты файла |
nlink |
|
Число жестких ссылок на файл |
uid |
|
Идентификатор пользователя — владельца файла |
gid |
|
Идентификатор группы владельца файла |
rdev |
|
Если этот файл ссылается на устройство, идентификатор устройства, на которое он ссылается |
blksize |
|
Предпочтительный размер блока файловой системы для файла |
blocks |
|
Количество выделенных блоков по 512 байт |
mtime |
|
Метка времени Unix, указывающая время последнего изменения файла |
ctime |
|
Метка времени Unix, указывающая время изменения метаданных файла |
#
Base.Filesystem.diskstat
— Function
diskstat(path=pwd())
Возвращает статистику в байтах о диске, содержащем файл или каталог, на который указывает path
. Если аргументы не переданы, возвращается статистика о диске, содержащем текущий рабочий каталог.
Совместимость: Julia 1.8
Этот метод был добавлен в Julia 1.8. |
#
Base.Filesystem.cp
— Function
cp(src::AbstractString, dst::AbstractString; force::Bool=false, follow_symlinks::Bool=false)
Копирует файл, ссылку или каталог из src
в dst
. При force=true
сначала будет удален существующий dst
.
Если follow_symlinks=false
и src
является символьной ссылкой, dst
будет создан в виде символьной ссылки. Если follow_symlinks=true
и src
является символьной ссылкой, dst
будет копией файла или каталога, на который указывает src
. Возвращает dst
.
Функция |
#
Base.download
— Function
download(url::AbstractString, [path::AbstractString = tempname()]) -> path
Скачивает файл с заданного URL-адреса и сохраняет его в расположении path
или, если оно не указано, по временному пути. Возвращает путь скачанного файла.
Начиная с Julia 1.6 эта функция считается устаревшей и является лишь тонкой оболочкой для |
#
Base.Filesystem.mv
— Function
mv(src::AbstractString, dst::AbstractString; force::Bool=false)
Перемещает файл, ссылку или каталог из src
в dst
. При force=true
сначала будет удален существующий 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.Filesystem.rm
— Function
rm(path::AbstractString; force::Bool=false, recursive::Bool=false)
Удаляет файл, ссылку или пустой каталог по заданному пути. Если передается force=true
, несуществующий путь не считается ошибкой. Если передается recursive=true
и путь является каталогом, все содержимое рекурсивно удаляется.
Примеры
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.Filesystem.touch
— Function
Base.touch(::Pidfile.LockMonitor)
Обновляет mtime
для блокировки, чтобы указать, что она еще актуальна.
См. также описание ключевого слова refresh
в конструкторе [mkpidlock
].
touch(path::AbstractString) touch(fd::File)
Обновляет метку времени последнего изменения в файле в соответствии с текущим временем.
Если файл не существует, создается новый файл.
Возвращает path
.
Примеры
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
Мы видим, что mtime
изменен функцией touch
.
#
Base.Filesystem.tempname
— Function
tempname(parent=tempdir(); cleanup=true) -> String
Создает путь к временному файлу. Эта функция возвращает только путь, файл не создается. Путь, скорее всего, будет уникальным, но это не гарантируется из-за очень низкой вероятности того, что два одновременных вызова tempname
создадут одно и то же имя файла. Имя гарантированно отличается от имен всех файлов, уже существующих на момент вызова tempname
.
При вызове без аргументов временное имя будет абсолютным путем к временному имени в системном временном каталоге, заданному tempdir()
. Если задан аргумент каталога parent
, временный путь будет находиться в этом каталоге.
Параметр cleanup
управляет тем, пытается ли процесс автоматически удалить возвращаемый путь при завершении. Обратите внимание, что функция tempname
не создает никакого файла или каталога в возвращаемом расположении, поэтому очистка выполняется только после того, как там будет создан файл ли каталог. Если вы это сделаете и параметр cleanup
имеет значение true
, то путь будет удален по завершении процесса.
Совместимость: Julia 1.4
Аргументы |
В системе безопасности могут возникнуть бреши, если другой процесс получит то же самое имя файла и создаст файл до того, как это сделаете вы. Если такая ситуация вызывает беспокойство, откройте файл с помощью |
#
Base.Filesystem.tempdir
— Function
tempdir()
Возвращает путь к временному каталогу. В Windows tempdir()
использует первую переменную среды, найденную в упорядоченном списке TMP
, TEMP
, USERPROFILE
. Во всех других операционных системах tempdir()
использует первую переменную среды, найденную в упорядоченном списке TMPDIR
, TMP
, TEMP
и TEMPDIR
. Если ничего не найдено, используется путь "/tmp"
.
#
Base.Filesystem.mktemp
— Method
mktemp(parent=tempdir(); cleanup=true) -> (path, io)
Возвращает (path, io)
, где path
является путем к новому временному файлу в parent
, а io
— объектом открытого файла для этого пути. Параметр cleanup
управляет автоматическим удалением временного файла по завершении процесса.
Совместимость: Julia 1.3
Именованный аргумент |
#
Base.Filesystem.mktemp
— Method
mktemp(f::Function, parent=tempdir())
Применяет функцию f
к результату mktemp(parent)
и удаляет временный файл по завершении.
См. также описание mktempdir
.
#
Base.Filesystem.mktempdir
— Method
mktempdir(parent=tempdir(); prefix="jl_", cleanup=true) -> path
Создает временный каталог в каталоге parent
с именем, сформированным на основе заданного префикса prefix
и случайного суффикса, и возвращает путь к нему. Кроме того, на некоторых платформах все конечные символы в prefix
могут заменяться случайными символами. Если parent
не существует, возникает ошибка. Параметр cleanup
управляет автоматическим удалением временного каталога по завершении процесса.
Совместимость: Julia 1.2
Именованный аргумент |
Совместимость: Julia 1.3
Именованный аргумент |
#
Base.Filesystem.mktempdir
— Method
mktempdir(f::Function, parent=tempdir(); prefix="jl_")
Применяет функцию f
к результату mktempdir(parent; prefix)
и удаляет временный каталог и все его содержимое по завершении.
Совместимость: Julia 1.2
Именованный аргумент |
#
Base.Filesystem.isblockdev
— Function
isblockdev(path) -> Bool
Возвращает true
, если path
является блочным устройством, в противном случае возвращает false
.
#
Base.Filesystem.ischardev
— Function
ischardev(path) -> Bool
Возвращает true
, если path
является символьным устройством, в противном случае возвращает false
.
#
Base.Filesystem.isfifo
— Function
isfifo(path) -> Bool
Возвращает true
, если path
является FIFO, в противном случае возвращает false
.
#
Base.Filesystem.isfile
— Function
isfile(path) -> Bool
Возвращает true
, если path
является обычным файлом, в противном случае возвращает false
.
Примеры
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
#
Base.Filesystem.islink
— Function
islink(path) -> Bool
Возвращает true
, если path
является символьной ссылкой, в противном случае возвращает false
.
#
Base.Filesystem.ismount
— Function
ismount(path) -> Bool
Возвращает true
, если path
является точкой подключения, в противном случае возвращает false
.
#
Base.Filesystem.issetgid
— Function
issetgid(path) -> Bool
Возвращает true
, если для path
установлен флаг setgid, в противном случае возвращает false
.
#
Base.Filesystem.issetuid
— Function
issetuid(path) -> Bool
Возвращает true
, если для path
установлен флаг setuid, в противном случае возвращает false
.
#
Base.Filesystem.issocket
— Function
issocket(path) -> Bool
Возвращает true
, если path
является сокетом, в противном случае возвращает false
.
#
Base.Filesystem.issticky
— Function
issticky(path) -> Bool
Возвращает true
, если для path
задан бит закрепления, в противном случае возвращает false
.
#
Base.Filesystem.homedir
— Function
homedir() -> String
Возвращает домашний каталог текущего пользователя.
|
См. также описание Sys.username
.
#
Base.Filesystem.dirname
— Function
dirname(path::AbstractString) -> String
Возвращает часть пути, содержащую каталог. Конечные символы ('/' или '') в пути считаются частью пути.
Примеры
julia> dirname("/home/myuser")
"/home"
julia> dirname("/home/myuser/")
"/home/myuser"
См. также описание basename
.
#
Base.Filesystem.basename
— Function
basename(path::AbstractString) -> String
Возвращает часть пути, содержащую имя файла.
Эта функция немного отличается от программы Unix |
Примеры
julia> basename("/home/myuser/example.jl")
"example.jl"
julia> basename("/home/myuser/")
""
См. также описание dirname
.
#
Base.Filesystem.isabspath
— Function
isabspath(path::AbstractString) -> Bool
Определяет, является ли путь абсолютным (начинается с корневого каталога).
Примеры
julia> isabspath("/home")
true
julia> isabspath("home")
false
#
Base.Filesystem.isdirpath
— Function
isdirpath(path::AbstractString) -> Bool
Определяет, относится ли путь к каталогу (например, заканчивается разделителем пути).
Примеры
julia> isdirpath("/home")
false
julia> isdirpath("/home/")
true
#
Base.Filesystem.joinpath
— Function
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
рассматривает его как неабсолютный путь и игнорирует регистр буквы диска, поэтому 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"
#
Base.Filesystem.abspath
— Function
abspath(path::AbstractString) -> String
Преобразует путь в абсолютный путь с добавлением при необходимости текущего каталога. Также нормализует путь как в normpath
.
Примеры
Если вы находитесь в каталоге JuliaExample
, а данные, которые вы используете, находятся на два уровня выше относительно каталога JuliaExample
, вы можете написать:
abspath("../../data")
Результатом будет путь вида "/home/JuliaUser/data/"
.
См. также описание joinpath
, pwd
и expanduser
.
abspath(path::AbstractString, paths::AbstractString...) -> String
Преобразует набор путей в абсолютный путь с их объединением и добавлением при необходимости текущего каталога. Эквивалентно abspath(joinpath(path, paths...))
.
#
Base.Filesystem.normpath
— Function
normpath(path::AbstractString) -> String
Нормализует путь с удалением элементов «.» и «..» и изменением «/» на канонический для системы разделитель пути.
Примеры
julia> normpath("/home/myuser/../example.jl")
"/home/example.jl"
julia> normpath("Documents/Julia") == joinpath("Documents", "Julia")
true
normpath(path::AbstractString, paths::AbstractString...) -> String
Преобразует набор путей в нормализованный путь с их объединением и удалением элементов «.» и «..». Эквивалентно normpath(joinpath(path, paths...))
.
#
Base.Filesystem.realpath
— Function
realpath(path::AbstractString) -> String
Канонизирует путь с расширением символьных ссылок и удалением элементов «.» и «..». В файловых системах с сохранением регистра и не учитывающих регистр (обычно в Mac и Windows) возвращается регистр, сохраненный в файловой системе, для пути.
(Эта функция вызывает исключение, если path
не существует в файловой системе.)
#
Base.Filesystem.relpath
— Function
relpath(path::AbstractString, startpath::AbstractString = ".") -> String
Возвращает относительный путь к файлу для path
либо из текущего каталога, либо из необязательного начального каталога. Путь вычисляется: обращений к файловой системе для подтверждения существования или характера path
или startpath
не происходит.
В Windows регистр учитывается для всех частей пути, кроме букв дисков. Если path
и startpath
относятся к разным дискам, возвращается абсолютный путь path
.
#
Base.Filesystem.expanduser
— Function
expanduser(path::AbstractString) -> AbstractString
В системах Unix заменяет символ тильды в начале пути домашним каталогом текущего пользователя.
См. также описание contractuser
.
#
Base.Filesystem.contractuser
— Function
contractuser(path::AbstractString) -> AbstractString
Если в системах Unix путь начинается с homedir()
, заменяет его символом тильды.
См. также описание expanduser
.
#
Base.Filesystem.samefile
— Function
samefile(path_a::AbstractString, path_b::AbstractString)
Проверяет, ссылаются ли пути path_a
и path_b
на один и тот же существующий файл или каталог.
#
Base.Filesystem.splitdir
— Function
splitdir(path::AbstractString) -> (AbstractString, AbstractString)
Разделяет путь на кортеж из имени каталога и имени файла.
Примеры
julia> splitdir("/home/myuser")
("/home", "myuser")
#
Base.Filesystem.splitdrive
— Function
splitdrive(path::AbstractString) -> (AbstractString, AbstractString)
В Windows делит путь на часть с буквой диска и часть с путем. В системах Unix первым компонентом всегда является пустая строка.
#
Base.Filesystem.splitext
— Function
splitext(path::AbstractString) -> (String, String)
Если последний компонент пути содержит одну или несколько точек, разделяет путь на все, что находится перед последней точкой, и все, начиная с этой точки и далее. В противном случае возвращается кортеж из неизмененного аргумента и пустой строки. splitext — это сокращение от split extension, разделение по расширению.
Примеры
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", "")
#
Base.Filesystem.splitpath
— Function
splitpath(path::AbstractString) -> Vector{String}
Разделяет путь к файлу на все компоненты. Это функция, обратная joinpath
. Возвращает массив подстрок, по одной для каждого каталога или файла в пути, включая корневой каталог (при наличии).
Совместимость: Julia 1.1
Для этой функции требуется версия Julia не ниже 1.1. |
Примеры
julia> splitpath("/home/myuser/example.jl")
4-element Vector{String}:
"/"
"home"
"myuser"
"example.jl"