Filesystem
Base.Filesystem.pwdФункция
pwd() -> AbstractString
Получить текущую рабочую директорию.
Примеры
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) -> AbstractString
Возвращает местоположение целевого объекта символической ссылки 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 | Номер inode файла |
| mode | Режим защиты файла |
| nlink | Количество жёстких ссылок на файл |
| uid | Идентификатор пользователя владельца файла |
| gid | Идентификатор группы владельца файла |
| rdev | Если этот файл ссылается на устройство, то идентификатор устройства, на которое он ссылается |
| 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 с именем, построенным из заданного префикса и случайного суффикса, и возвращает его путь. Кроме того, все символы X могут быть заменены случайными символами. Если parent не существует, возникает ошибка. Опция cleanup управляет автоматическим удалением временного каталога при завершении процесса.
Ключевой аргумент prefix был добавлен в Julia 1.2.
Ключевой аргумент cleanup был добавлен в Julia 1.3. Соответственно, начиная с версии 1.3, Julia будет удалять временные пути, созданные функцией mktempdir, при завершении процесса Julia, если cleanup явно не установлен в false.
Base.Filesystem.mktempdirМетод
mktempdir(f::Function, parent=tempdir(); prefix="jl_")
Применяет функцию f к результату mktempdir(parent; prefix) и удаляет временный каталог и все его содержимое по завершении.
Ключевой аргумент 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
исходный код
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исходный код
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 имеет установленный битовый флаг sticky, false в противном случае.
Base.Filesystem.homedirФункция
homedir() -> String
Возвращает домашний каталог текущего пользователя.
homedir определяет домашний каталог с помощью libuv uv_os_homedir. Подробности (например, как указать домашний каталог через переменные окружения) см. в uv_os_homedir документации.
Base.Filesystem.dirnameФункция
dirname(path::AbstractString) -> AbstractString
Возвращает часть пути, относящуюся к каталогу. Конечные символы ('/' или '\') в пути считаются частью пути.
Примеры
julia> dirname("/home/myuser")
"/home"
julia> dirname("/home/myuser/")
"/home/myuser"
См. также basename.
Base.Filesystem.basenameФункция
basename(path::AbstractString) -> AbstractString
Возвращает часть пути, относящуюся к имени файла.
Эта функция немного отличается от программы 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 = ".") -> AbstractString
Возвращает относительный путь к 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) -> (AbstractString, AbstractString)
Если последний компонент пути содержит одну или несколько точек, разделите путь на все, что находится перед последней точкой, и все, что включает и следует за точкой. В противном случае верните кортеж из аргумента без изменений и пустой строки. "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–2023 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.9/base/file/