Spec-Zone.ru › Julia 1.11

Файловая система

Base.readМетод

read(filename::AbstractString)

Прочитать всё содержимое файла в виде Vector{UInt8}.

read(filename::AbstractString, String)

Прочитать всё содержимое файла в виде строки.

read(filename::AbstractString, args...)

Открыть файл и прочитать его содержимое. args передаётся в read: это эквивалентно open(io->read(io, args...), filename).

исходный код

Base.writeМетод

write(filename::AbstractString, content)

Записать каноническое двоичное представление content в файл, который будет создан, если он не существует, или перезаписан, если существует.

Возвращает количество записанных байтов.

исходный код

Base.Filesystem.pwdФункция

pwd() -> String

Получить текущую рабочую директорию.

См. также: cd, tempdir.

Примеры

julia> pwd()
"/home/JuliaUser"

julia> cd("/home/JuliaUser/Projects/julia")

julia> pwd()
"/home/JuliaUser/Projects/julia"
исходный код

Base.Filesystem.cdМетод

cd(dir::AbstractString=homedir())

Установить текущую рабочую директорию.

См. также: pwd, mkdir, mkpath, mktempdir.

Примеры

julia> cd("/home/JuliaUser/Projects/julia")

julia> pwd()
"/home/JuliaUser/Projects/julia"

julia> cd()

julia> pwd()
"/home/JuliaUser"
исходный код

Base.Filesystem.cdМетод

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Функция

readdir(dir::AbstractString=pwd();
    join::Bool = false,
    sort::Bool = true,
) -> Vector{String}

Возвращает имена файлов в директории dir или в текущей рабочей директории, если не указана. Когда join ложно, readdir возвращает только имена файлов как есть; когда join истинно, она возвращает joinpath(dir, name) для каждого name, чтобы возвращаемые строки были полными путями. Если вам нужны абсолютные пути, вызовите readdir с абсолютным путём к директории и join установленным в true.

По умолчанию, readdir сортирует список возвращаемых имён. Если вы хотите пропустить сортировку имён и получить их в порядке, в котором их перечисляет файловая система, вы можете использовать readdir(dir, sort=false) для отказа от сортировки.

См. также: walkdir.

Ключевые аргументы join и sort требуют как минимум 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Функция

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)) # path to directories
    end
    println("Files in $root")
    for file in files
        println(joinpath(root, file)) # path to files
    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Функция

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Функция

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") # creates three directories
"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") # creates two directories
"intermediate_dir/actually_a_directory.txt"

julia> isdir("intermediate_dir/actually_a_directory.txt")
true
исходный код

Base.Filesystem.hardlinkФункция

hardlink(src::AbstractString, dst::AbstractString)

Создаёт жёсткую ссылку на существующий исходный файл src с именем dst. Цель, dst, не должна существовать.

См. также: symlink.

Этот метод был добавлен в Julia 1.8.

исходный код

Base.Filesystem.symlinkФункция

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.

Ключевой аргумент dir_target был добавлен в Julia 1.6. До этого символические ссылки на несуществующие пути в Windows всегда были файловыми символическими ссылками, и относительные ссылки на директории не поддерживались.

исходный код

Base.Filesystem.readlinkФункция

readlink(path::AbstractString) -> String

Возвращает целевое расположение, на которое указывает символическая ссылка path.

исходный код

Base.Filesystem.chmodФункция

chmod(path::AbstractString, mode::Integer; recursive::Bool=false)

Изменить права доступа к path на mode. В настоящее время поддерживаются только целые числа mode (например, 0o777). Если recursive=true и путь является директорией, все права доступа в этой директории будут рекурсивно изменены. Возвращает path.

До Julia 1.6 эта функция некорректно манипулировала ACL файловой системы в Windows, поэтому она устанавливала только биты только для чтения в файлах. Теперь она способна манипулировать ACL.

исходный код
END_OF_DOCUMENT_MARKER

Base.Filesystem.chownФункция

chown(path::AbstractString, owner::Integer, group::Integer=-1)

Изменяет владельца и/или группу path на owner и/или group. Если значение, введённое для owner или group равно -1, соответствующий идентификатор не изменится. В настоящее время поддерживаются только целочисленные owner и group значения. Возвращает path.

исходный код

Base.Libc.RawFDТип

RawFD

Примитивный тип, оборачивающий системный дескриптор файла. RawFD могут передаваться в методы, такие как stat, для получения информации об исходном файле, а также могут использоваться для открытия потоков, при этом RawFD описывает системный файл, лежащий в основе потока.

исходный код

Base.statФункция

stat(file)

Возвращает структуру, поля которой содержат информацию о файле. Поля структуры:

Имя Тип Описание
desc Union{String, Base.OS_HANDLE} Путь или дескриптор системного файла
size Int64 Размер файла (в байтах)
device UInt Идентификатор устройства, содержащего файл
inode UInt Номер inode файла
mode UInt Режим защиты файла
nlink Int Количество жёстких ссылок на файл
uid UInt Идентификатор пользователя владельца файла
gid UInt Идентификатор группы владельца файла
rdev UInt Если этот файл ссылается на устройство, ID устройства
blksize Int64 Предпочтительный размер блока файловой системы для файла
blocks Int64 Количество блоков размером 512 байт, выделенных для файла
mtime Float64 Маркер Unix времени последнего изменения файла
ctime Float64 Маркер Unix времени последнего изменения метаданных файла
исходный код

Base.Filesystem.diskstatФункция

diskstat(path=pwd())

Возвращает статистику в байтах о диске, содержащем файл или директорию, на которые указывает path. Если аргумент не передан, возвращаются статистические данные о диске, содержащем текущую рабочую директорию.

Этот метод был добавлен в Julia 1.8.

исходный код

Base.Filesystem.lstatФункция

lstat(file)

Подобно stat, но для символических ссылок получает информацию о самой ссылке, а не о файле, на который она ссылается. Эта функция должна вызываться для пути к файлу, а не для объекта файла или дескриптора файла.

исходный код

Base.Filesystem.ctimeФункция

ctime(file)

Эквивалентно stat(file).ctime.

исходный код

Base.Filesystem.mtimeФункция

mtime(file)

Эквивалентно stat(file).mtime.

исходный код

Base.Filesystem.filemodeФункция

filemode(file)

Эквивалентно stat(file).mode.

исходный код

Base.filesizeФункция

filesize(path...)

Эквивалентно stat(file).size.

исходный код

Base.Filesystem.upermФункция

uperm(file)

Получает разрешения владельца файла как битовое поле:

Значение Описание
01 Разрешение на выполнение
02 Разрешение на запись
04 Разрешение на чтение

Для разрешённых аргументов см. stat.

исходный код

Base.Filesystem.gpermФункция

gperm(file)

Аналогично uperm, но получает разрешения группы, владеющей файлом.

исходный код

Base.Filesystem.opermФункция

operm(file)

Аналогично uperm, но получает разрешения для тех, кто не владеет файлом и не является членом группы, владеющей файлом.

исходный код

Base.Filesystem.cpФункция

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.

Функция cp отличается от команды cp. Функция cp всегда работает в предположении, что dst является файлом, в то время как команда делает разные вещи в зависимости от того, является ли dst директорией или файлом. Использование force=true при dst является директорией, приведёт к потере всех содержимого директории dst, а dst станет файлом, содержащим содержимое директории src.

исходный код

Base.downloadФункция

download(url::AbstractString, [path::AbstractString = tempname()]) -> path

Загружает файл с указанного URL, сохраняя его в местоположение path, или, если не указано, в временный путь. Возвращает путь загруженного файла.

С Julia 1.6 эта функция устарела и представляет собой просто тонкий обёртку вокруг Downloads.download. В новом коде следует использовать эту функцию напрямую вместо вызова этой.

исходный код

Base.Filesystem.mvФункция

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");
исходный код
END_OF_DOCUMENT_MARKER

Base.Filesystem.rmФункция

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Функция

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Функция

tempname(parent=tempdir(); cleanup=true) -> String

Сгенерировать временный путь к файлу. Эта функция только возвращает путь; файл не создаётся. Путь, вероятно, будет уникальным, но это не гарантируется из-за очень малой вероятности одновременных вызовов tempname сгенерированием одного и того же имени файла. Имя гарантированно отличается от всех файлов, уже существующих на момент вызова tempname.

Когда вызывается без аргументов, временное имя будет абсолютным путём к временному имени в системном временном каталоге, как указано в tempdir(). Если передаётся аргумент каталога parent, временный путь будет находиться в этом каталоге вместо него.

Опция cleanup управляет тем, пытается ли процесс автоматически удалить возвращённый путь при выходе процесса. Обратите внимание, что функция tempname не создаёт никаких файлов или каталогов в возвращённом месте, поэтому ничего не нужно очищать, если вы не создадите там файл или каталог. Если вы это сделаете и cleanup равно true, он будет удалён при завершении процесса.

Аргументы parent и cleanup были добавлены в 1.4. До Julia 1.4 путь tempname никогда не очищался при завершении процесса.

Это может привести к уязвимостям безопасности, если другой процесс получит то же имя файла и создаст файл до того, как вы сможете. Откройте файл с помощью JL_O_EXCL, если это вызывает озабоченность. Также рекомендуется использовать mktemp() вместо этого.

исходный код

Base.Filesystem.tempdirФункция

tempdir()

Получает путь к временному каталогу. В Windows, tempdir() использует первую переменную окружения из упорядоченного списка TMP, TEMP, USERPROFILE. На всех остальных операционных системах, tempdir() использует первую переменную окружения из упорядоченного списка TMPDIR, TMP, TEMP, и TEMPDIR. Если ни одна из них не найдена, используется путь "/tmp".

исходный код

Base.Filesystem.mktempМетод

mktemp(parent=tempdir(); cleanup=true) -> (path, io)

Возвращает (path, io), где path — путь к новому временному файлу в parent, а io — открытый объект файла для этого пути. Опция cleanup управляет тем, удаляется ли временный файл автоматически при выходе процесса.

Ключевой аргумент cleanup был добавлен в Julia 1.3. Соответственно, начиная с 1.3, Julia будет удалять временные пути, созданные mktemp, при выходе процесса Julia, если cleanup явно не установлен в false.

исходный код

Base.Filesystem.mktempМетод

mktemp(f::Function, parent=tempdir())

Применяет функцию f к результату mktemp(parent) и удаляет временный файл по завершении.

См. также: mktempdir.

исходный код

Base.Filesystem.mktempdirМетод

mktempdir(parent=tempdir(); prefix="jl_", cleanup=true) -> path

Создать временный каталог в каталоге parent с именем, сгенерированным из заданного prefix и случайного суффикса, и вернуть его путь. Кроме того, на некоторых платформах любые символы 'X' в prefix могут быть заменены случайными символами. Если parent не существует, выбросить ошибку. Опция cleanup управляет тем, удаляется ли временный каталог автоматически при выходе процесса.

Ключевой аргумент prefix был добавлен в Julia 1.2.

Ключевой аргумент cleanup был добавлен в Julia 1.3. Соответственно, начиная с 1.3, Julia будет удалять временные пути, созданные mktempdir, при выходе процесса Julia, если cleanup явно не установлен в false.

См. также: mktemp, mkdir.

исходный код

Base.Filesystem.mktempdirМетод

mktempdir(f::Function, parent=tempdir(); prefix="jl_")

Применить функцию f к результату mktempdir(parent; prefix) и удалить временный каталог со всем его содержимым по завершении.

См. также: mktemp, mkdir.

Ключевой аргумент prefix был добавлен в Julia 1.2.

исходный код

Base.Filesystem.isblockdevФункция

isblockdev(path) -> Bool

Возвращает true, если path — это блочное устройство, false в противном случае.

исходный код

Base.Filesystem.ischardevФункция

ischardev(path) -> Bool

Возвращает true, если path — это символьное устройство, false в противном случае.

исходный код

Base.Filesystem.isdirФункция

isdir(path) -> Bool

Возвращает true, если path — это каталог, false в противном случае.

Примеры

julia> isdir(homedir())
true

julia> isdir("not/a/directory")
false

См. также isfile и ispath.

исходный код

Base.Filesystem.isfifoФункция

isfifo(path) -> Bool

Возвращает true, если path — это FIFO, false в противном случае.

исходный код

Base.Filesystem.isfileФункция

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

См. также isdir и ispath.

исходный код

Base.Filesystem.islinkФункция

islink(path) -> Bool

Возвращает true, если path — это символическая ссылка, false в противном случае.

исходный код
END_OF_DOCUMENT_MARKER

Base.Filesystem.ismountФункция

ismount(path) -> Bool

Возвращает true, если path является точкой монтирования, false в противном случае.

исходный код

Base.Filesystem.ispathФункция

ispath(path) -> Bool

Возвращает true, если в системе существует допустимый элемент файловой системы по пути path, в противном случае возвращает false. Это обобщение isfile, isdir и т. д.

исходный код

Base.Filesystem.issetgidФункция

issetgid(path) -> Bool

Возвращает true, если path имеет установленный флаг setgid, false в противном случае.

исходный код

Base.Filesystem.issetuidФункция

issetuid(path) -> Bool

Возвращает true, если path имеет установленный флаг setuid, false в противном случае.

исходный код

Base.Filesystem.issocketФункция

issocket(path) -> Bool

Возвращает true, если path является сокетом, false в противном случае.

исходный код

Base.Filesystem.isstickyФункция

issticky(path) -> Bool

Возвращает true, если у path установлен бит sticky, false в противном случае.

исходный код

Base.Filesystem.homedirФункция

homedir() -> String

Возвращает домашний каталог текущего пользователя.

homedir определяет домашний каталог с помощью libuv's uv_os_homedir. Для получения подробной информации (например, о том, как указать домашний каталог через переменные среды), см. uv_os_homedir документацию.

См. также Sys.username.

исходный код

Base.Filesystem.dirnameФункция

dirname(path::AbstractString) -> String

Возвращает часть пути, относящуюся к каталогу. Завершающие символы ('/' или '\') в пути считаются частью пути.

Примеры

julia> dirname("/home/myuser")
"/home"

julia> dirname("/home/myuser/")
"/home/myuser"

См. также basename.

исходный код

Base.Filesystem.basenameФункция

basename(path::AbstractString) -> String

Возвращает часть пути, относящуюся к имени файла.

Эта функция немного отличается от Unix-команды basename, где конечные косые черты игнорируются, т.е. $ basename /foo/bar/ возвращает bar, в то время как basename в Julia возвращает пустую строку "".

Примеры

julia> basename("/home/myuser/example.jl")
"example.jl"

julia> basename("/home/myuser/")
""

См. также dirname.

исходный код

Base.Filesystem.isabspathФункция

isabspath(path::AbstractString) -> Bool

Определяет, является ли путь абсолютным (начинается с корневого каталога).

Примеры

julia> isabspath("/home")
true

julia> isabspath("home")
false
исходный код

Base.Filesystem.isdirpathФункция

isdirpath(path::AbstractString) -> Bool

Определяет, ссылается ли путь на каталог (например, заканчивается символом разделителя путей).

Примеры

julia> isdirpath("/home")
false

julia> isdirpath("/home/")
true
исходный код

Base.Filesystem.joinpathФункция

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Функция

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Функция

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Функция

realpath(path::AbstractString) -> String

Канонизирует путь, раскрывая символические ссылки и удаляя вхождения "." и "..". В системах с регистронезависимыми файловыми системами (обычно Mac и Windows) возвращается регистронезависимое представление пути.

(Эта функция вызывает исключение, если path не существует в файловой системе.)

исходный код

Base.Filesystem.relpathФункция

relpath(path::AbstractString, startpath::AbstractString = ".") -> String

Возвращает относительный путь к path либо из текущего каталога, либо из необязательного начального каталога. Это вычисление пути: файловая система не используется для подтверждения существования или свойств path или startpath.

В Windows регистрочувствительность применяется ко всем частям пути, за исключением букв дисков. Если path и startpath ссылаются на разные диски, возвращается абсолютный путь к path.

исходный код

Base.Filesystem.expanduserФункция

expanduser(path::AbstractString) -> AbstractString

В системах Unix символ тильды в начале пути заменяется домашним каталогом текущего пользователя.

См. также: contractuser.

исходный код

Base.Filesystem.contractuserФункция

contractuser(path::AbstractString) -> AbstractString

В системах Unix, если путь начинается с homedir(), замените его символом тильды.

См. также: expanduser.

исходный код

Base.Filesystem.samefileФункция

samefile(path_a::AbstractString, path_b::AbstractString)

Проверяет, ссылаются ли пути path_a и path_b на один и тот же существующий файл или директорию.

исходный код

Base.Filesystem.splitdirФункция

splitdir(path::AbstractString) -> (AbstractString, AbstractString)

Разделяет путь на кортеж из имени директории и имени файла.

Примеры

julia> splitdir("/home/myuser")
("/home", "myuser")
исходный код

Base.Filesystem.splitdriveФункция

splitdrive(path::AbstractString) -> (AbstractString, AbstractString)

В Windows разделяет путь на букву диска и часть пути. В системах Unix первая компонента всегда пустая строка.

исходный код

Base.Filesystem.splitextФункция

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Функция

splitpath(path::AbstractString) -> Vector{String}

Разделяет путь к файлу на все его компоненты пути. Это противоположно joinpath. Возвращает массив подстрок, по одной для каждой директории или файла в пути, включая корневую директорию, если она присутствует.

Эта функция требует по крайней мере Julia 1.1.

Примеры

julia> splitpath("/home/myuser/example.jl")
4-element Vector{String}:
 "/"
 "home"
 "myuser"
 "example.jl"
исходный код

© 2009–2024 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.11/base/file/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API