Spec-Zone.ru › Julia 1.5

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

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())

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

Примеры

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 равно false, readdir возвращает только имена файлов в директории; когда join равно true, оно возвращает joinpath(dir, name) для каждого name, так что возвращаемые строки являются полными путями. Если вы хотите получить абсолютные пути, вызовите readdir с абсолютным путем к директории и join установленным в true.

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

Ключевые аргументы 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 сталкивается с SystemError, по умолчанию она перебросит исключение. Обработку ошибок можно настроить с помощью ключевого аргумента onerror. onerror вызывается с SystemError в качестве аргумента.

Примеры

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. mode по умолчанию равно 0o777, модифицируется текущей маской создания файлов. Возвращает path.

Примеры

julia> mkdir("testingdir")
"testingdir"

julia> cd("testingdir")

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

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

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

symlink(target::AbstractString, link::AbstractString)

Создаёт символическую ссылку на target с именем link.

Эта функция вызывает ошибку в операционных системах, которые не поддерживают мягкие символические ссылки, такие как Windows XP.

исходный код

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.

исходный код

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)

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

Имя Описание
size Размер файла (в байтах)
device Идентификатор устройства, содержащего файл
inode Номер узла файла
mode Режим защиты файла
nlink Число жёстких ссылок на файл
uid Идентификатор пользователя владельца файла
gid Идентификатор группы владельца файла
rdev Если этот файл ссылается на устройство, идентификатор устройства, на которое он ссылается
blksize Предпочитаемый файловой системой размер блока для файла
blocks Число выделенных блоков
mtime Маркер Unix времени последнего изменения файла
ctime Маркер Unix времени создания файла
исходный код

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.Filesystem.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.

исходный код

Base.downloadФункция

download(url::AbstractString, [localfile::AbstractString])

Загружает файл с указанного URL, необязательно переименовывая его в указанное имя локального файла. Если имя файла не указано, файл будет загружен в случайное имя в временной директории. Обратите внимание, что эта функция полагается на наличие внешних инструментов, таких как curl, wget или fetch для загрузки файла и предоставляется для удобства. Для использования в производственных условиях или в ситуациях, когда требуется больше параметров, используйте пакет, обеспечивающий необходимую функциональность.

Возвращает имя загруженного файла.

исходный код

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: no such file or directory (ENOENT)
Stacktrace:
[...]
исходный код

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

touch(path::AbstractString)

Обновляет метку последнего изменения файла на текущее время.

Если файла не существует, создается новый файл.

Возвращает 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 управляет тем, удаляется ли временный файл автоматически при завершении процесса.

исходный код

Base.Filesystem.mktempМетод

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

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

исходный код

Base.Filesystem.mktempdirМетод

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

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

исходный код

Base.Filesystem.mktempdirМетод

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

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

исходный код

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> f = open("test_file.txt", "w");

julia> isfile(f)
true

julia> close(f); rm("test_file.txt")

См. также: 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 установлен битовый флаг 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

Получить часть пути, соответствующую имени файла.

Примеры

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

См. также: dirname

исходный код

Base.@__FILE__Макрос

@__FILE__ -> AbstractString

Развертывается в строку с путем к файлу, содержащему вызов макроса, или пустую строку, если вычисление выполняется julia -e <expr>. Возвращает nothing если у макроса отсутствует информация о источнике парсера. В качестве альтернативы см. PROGRAM_FILE.

исходный код

Base.@__DIR__Макрос

@__DIR__ -> AbstractString

Развертывается в строку с абсолютным путем к каталогу файла, содержащего вызов макроса. Возвращает текущую рабочую директорию, если запуск происходит из REPL или если вычисление выполняется julia -e <expr>.

исходный код

Base.@__LINE__Макрос

@__LINE__ -> Int

Развертывается в номер строки расположения вызова макроса. Возвращает 0 если номер строки определить не удалось.

исходный код

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

Объединяет компоненты пути в полный путь. Если какой-либо аргумент является абсолютным путем или (в 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"
исходный код

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

abspath(path::AbstractString) -> String

Преобразует путь в абсолютный путь, если необходимо, добавляя текущую директорию. Также нормализует путь, как в normpath.

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

исходный код

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

expanduser(path::AbstractString) -> AbstractString

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

исходный код

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)

Если последняя часть пути содержит точку, разделяет путь на все до точки и все, включая и после точки. В противном случае возвращает неизменённую пару и пустую строку.

Примеры

julia> splitext("/home/myuser/example.jl")
("/home/myuser/example", ".jl")

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

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

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

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

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

Примеры

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

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

Spec-Zone.ru

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