Файловая система
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.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 в dest. 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");
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
исходный код
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
Канонизирует путь, расширяя символические ссылки и удаляя записи "." и ".." .
исходный код
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", "")
исходный код
© 2009–2019 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v0.7.0/base/file/