Файловая система
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 | Идентификатор узла файла |
| 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()
Генерирует временный путь к файлу. Эта функция только возвращает путь; файл не создается. Путь, скорее всего, будет уникальным, но это не гарантируется.
Это может привести к гонкам, если другой процесс получит то же имя файла и создаст файл, прежде чем вы сможете. Рекомендуется использовать mktemp() вместо этого.
Base.Filesystem.tempdirФункция
tempdir()
Получает путь к временной директории (возможно, совместно используемой с другими процессами).
источник
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
источник
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")
источник
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
© 2009–2019 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.0.4/base/file/