Файловая система
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)
Возвращает структуру, поля которой содержат информацию о файле. Поля структуры:
| Имя | Описание |
|---|---|
| size | Размер файла (в байтах) |
| device | Идентификатор устройства, содержащего файл |
| inode | Номер 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, для загрузки файла и предоставляется для удобства. Для использования в производственных условиях или в ситуациях, где требуется больше возможностей, пожалуйста, используйте пакет, который предоставляет желаемую функциональность.
Возвращает имя загруженного файла.
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()
Генерирует временный путь к файлу. Эта функция возвращает только путь; файл не создаётся. Путь, скорее всего, будет уникальным, но это не гарантируется.
Это может привести к уязвимостям безопасности, если другой процесс получит то же имя файла и создаст файл до того, как вы сможете. Откройте файл с помощью 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
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. Это обобщение 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() -> AbstractString
Возвращает домашний каталог текущего пользователя.
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
Объединить компоненты пути в полный путь. Если какой-либо аргумент является абсолютным путем или (в Windows) имеет указание диска, которое не совпадает с диском, вычисленным для объединения предыдущих путей, то предыдущие компоненты отбрасываются.
Примеры
julia> joinpath("/home/myuser", "example.jl")
"/home/myuser/example.jl"
исходный код
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"
исходный код
Base.Filesystem.realpathФункция
realpath(path::AbstractString) -> AbstractString
Канонизировать путь, расширяя символические ссылки и удаляя записи "." и "..". В файловых системах, неразличающих регистр (обычно 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", "")
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–2020 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.3.1/base/file/