Файловая система
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=".") -> Vector{String}
Возвращает список файлов и директорий в директории dir (или текущей рабочей директории, если не указана).
Примеры
julia> readdir("/home/JuliaUser/Projects/julia")
34-element Array{String,1}:
".circleci"
".freebsdci.sh"
".git"
".gitattributes"
".github"
⋮
"test"
"ui"
"usr"
"usr-staging"
исходный код
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)
Возвращает структуру, поля которой содержат информацию о файле. Поля структуры:
| Имя | Описание |
|---|---|
| размер | Размер файла (в байтах) |
| устройство | Идентификатор устройства, содержащего файл |
| индекс | Номера индексной записи файла |
| режим | Режим защиты файла |
| nlink | Количество жёстких ссылок на файл |
| uid | Идентификатор пользователя владельца файла |
| gid | Идентификатор группы владельца файла |
| rdev | Если этот файл ссылается на устройство, идентификатор этого устройства |
| blksize | Предпочтительный размер блока файловой системы для файла |
| блоки | Количество выделенных блоков |
| 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 для загрузки файла и предоставляется для удобства. Для использования в продакшене или в ситуациях, когда необходимы дополнительные опции, пожалуйста, используйте пакет, предоставляющий желаемую функциональность.
Возвращает имя загруженного файла.
source
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");
source
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:
[...]
source
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()
Генерирует временный путь к файлу. Эта функция возвращает только путь; файл не создаётся. Путь, вероятно, будет уникальным, но это не гарантируется.
Это может привести к гонкам, если другой процесс получит то же имя файла и создаст файл до того, как вы сможете. Рекомендуется использовать mktemp() вместо этого.
Base.Filesystem.tempdirФункция
tempdir()
Получает путь к временной директории (возможно, общей для других процессов).
source
Base.Filesystem.mktempМетод
mktemp(parent=tempdir())
Возвращает (path, io), где path - путь к новому временному файлу в parent, а io - открытый объект файла для этого пути.
Base.Filesystem.mktempМетод
mktemp(f::Function, parent=tempdir())
Применяет функцию f к результату mktemp(parent) и удаляет временный файл по завершении.
Base.Filesystem.mktempdirМетод
mktempdir(parent=tempdir())
Создаёт временную директорию в каталоге parent и возвращает её путь. Если parent не существует, вызывается ошибка.
Base.Filesystem.mktempdirМетод
mktempdir(f::Function, parent=tempdir())
Применяет функцию f к результату mktempdir(parent) и удаляет временную директорию по завершении.
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
source
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")
source
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 в противном случае.
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() -> AbstractString
Возвращает домашний каталог текущего пользователя.
homedir определяет домашний каталог через libuv's uv_os_homedir. Для получения подробной информации (например, о том, как указать домашний каталог через переменные окружения), см. uv_os_homedir документацию.
Base.Filesystem.dirnameФункция
dirname(path::AbstractString) -> AbstractString
Возвращает часть пути, представляющую собой директорию.
Примеры
julia> dirname("/home/myuser")
"/home"
См. также: 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
source
Base.Filesystem.isdirpathФункция
isdirpath(path::AbstractString) -> Bool
Определяет, ссылается ли путь на директорию (например, заканчивается разделителем путей).
Примеры
julia> isdirpath("/home")
false
julia> isdirpath("/home/")
true
source
Base.Filesystem.joinpathФункция
joinpath(parts...) -> AbstractString
Объединяет компоненты пути в полный путь. Если какой-либо аргумент является абсолютным путем или (в Windows) имеет спецификацию диска, не соответствующую диску, вычисленному для объединения предыдущих путей, то предыдущие компоненты отбрасываются.
Примеры
julia> joinpath("/home/myuser", "example.jl")
"/home/myuser/example.jl"
source
Base.Filesystem.abspathФункция
abspath(path::AbstractString) -> AbstractString
Преобразует путь в абсолютный путь, добавив текущую директорию при необходимости. Также нормализует путь, как в normpath.
abspath(path::AbstractString, paths::AbstractString...) -> AbstractString
Преобразует набор путей в абсолютный путь, объединяя их и добавляя текущую директорию при необходимости. Эквивалентно abspath(joinpath(path, paths...)).
Base.Filesystem.normpathФункция
normpath(path::AbstractString) -> AbstractString
Нормализует путь, удаляя записи "." и "..".
Примеры
julia> normpath("/home/myuser/../example.jl")
"/home/example.jl"
source
Base.Filesystem.realpathФункция
realpath(path::AbstractString) -> AbstractString
Канонизирует путь, расширяя символические ссылки и удаляя записи "." и "..".
source
Base.Filesystem.relpathФункция
relpath(path::AbstractString, startpath::AbstractString = ".") -> AbstractString
Возвращает относительный путь к path либо из текущей директории, либо из необязательной начальной директории. Это вычисление пути: файловая система не используется для проверки существования или природы path или startpath.
Base.Filesystem.expanduserФункция
expanduser(path::AbstractString) -> AbstractString
В системах Unix, заменяет символ тильды в начале пути домашним каталогом текущего пользователя.
source
Base.Filesystem.splitdirФункция
splitdir(path::AbstractString) -> (AbstractString, AbstractString)
Разделяет путь на кортеж из имени директории и имени файла.
Примеры
julia> splitdir("/home/myuser")
("/home", "myuser")
source
Base.Filesystem.splitdriveФункция
splitdrive(path::AbstractString) -> (AbstractString, AbstractString)
В Windows, разделяет путь на часть буквы диска и часть пути. В системах Unix, первый компонент всегда пустая строка.
source
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", "")
source
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"
source
© 2009–2019 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.1.1/base/file/