Spec-Zone.ru › Julia 1.10

Filesystem

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 установленным в истинное значение.

По умолчанию 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.

исходный код

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 Путь или дескриптор файла ОС
size Размер файла (в байтах)
device Идентификатор устройства, содержащего файл
inode Номер узла файла
mode Режим защиты файла
nlink Количество жёстких ссылок на файл
uid Идентификатор пользователя владельца файла
gid Идентификатор группы владельца файла
rdev Если этот файл ссылается на устройство, ID устройства, на которое он ссылается
blksize Предпочитаемый файловой системой размер блока для файла
blocks Количество выделенных таких блоков
mtime Маркер времени Unix, когда файл был последний раз изменён
ctime Маркер времени 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");
исходный код

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 не создаёт никаких файлов или каталогов по возвращённому расположению, поэтому нет необходимости в очистке, если вы не создали файл или каталог там. Если вы это сделали и опция clean установлена в 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 в противном случае.

исходный код

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 установлен битовый флаг «липкость», false в противном случае.

исходный код

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

homedir() -> String

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

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

исходный код

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.10/base/file/

Spec-Zone.ru

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