Filesystem

Base.readMethod
read(filename::AbstractString)

ファイルの全内容を Vector{UInt8} として読み込みます。

read(filename::AbstractString, String)

ファイルの全内容を文字列として読み込みます。

read(filename::AbstractString, args...)

ファイルを開いてその内容を読み込みます。argsread に渡されます:これは open(io->read(io, args...), filename) と同等です。

source
Base.writeMethod
write(filename::AbstractString, content)

contentの標準的なバイナリ表現をファイルに書き込みます。ファイルがまだ存在しない場合は作成され、存在する場合は上書きされます。

ファイルに書き込まれたバイト数を返します。

source
Base.Filesystem.pwdFunction
pwd() -> String

現在の作業ディレクトリを取得します。

参照: cd, tempdir.

julia> pwd()
"/home/JuliaUser"

julia> cd("/home/JuliaUser/Projects/julia")

julia> pwd()
"/home/JuliaUser/Projects/julia"
source
Base.Filesystem.cdMethod
cd(dir::AbstractString=homedir())

現在の作業ディレクトリを設定します。

関連情報: pwd, mkdir, mkpath, mktempdir.

julia> cd("/home/JuliaUser/Projects/julia")

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

julia> cd()

julia> pwd()
"/home/JuliaUser"
source
Base.Filesystem.cdMethod
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"
source
Base.Filesystem.readdirFunction
readdir(dir::AbstractString=pwd();
    join::Bool = false,
    sort::Bool = true,
) -> Vector{String}

ディレクトリ dir の名前を返します。指定がない場合は現在の作業ディレクトリが使用されます。join が false の場合、readdir はディレクトリ内の名前をそのまま返します。join が true の場合、各 name に対して joinpath(dir, name) を返し、返される文字列はフルパスになります。絶対パスを取得したい場合は、絶対ディレクトリパスと join を true に設定して readdir を呼び出してください。

デフォルトでは、readdir は返す名前のリストをソートします。名前のソートをスキップしてファイルシステムがリストする順序で取得したい場合は、readdir(dir, sort=false) を使用してソートをオプトアウトできます。

関連情報: walkdir

Julia 1.4

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"
source
Base.Filesystem.walkdirFunction
walkdir(dir; topdown=true, follow_symlinks=false, onerror=throw)

ディレクトリのツリーを歩くイテレータを返します。イテレータは (rootpath, dirs, files) を含むタプルを返します。ディレクトリツリーは上から下へまたは下から上へとトラバースできます。walkdir または statIOError に遭遇した場合、デフォルトではエラーを再スローします。カスタムエラーハンドリング関数は onerror キーワード引数を通じて提供できます。onerrorIOError を引数として呼び出されます。

参照: readdir

for (root, dirs, files) in walkdir(".")
    println("Directories in $root")
    for dir in dirs
        println(joinpath(root, dir)) # ディレクトリへのパス
    end
    println("Files in $root")
    for file in files
        println(joinpath(root, file)) # ファイルへのパス
    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[])
source
Base.Filesystem.mkdirFunction
mkdir(path::AbstractString; mode::Unsigned = 0o777)

名前 path の新しいディレクトリを作成し、権限 mode を設定します。mode はデフォルトで 0o777 で、現在のファイル作成マスクによって変更されます。この関数は、1つのディレクトリ以上を作成することはありません。ディレクトリがすでに存在する場合や、中間ディレクトリのいずれかが存在しない場合、この関数はエラーをスローします。すべての必要な中間ディレクトリを作成する関数については mkpath を参照してください。path を返します。

julia> mkdir("testingdir")
"testingdir"

julia> cd("testingdir")

julia> pwd()
"/home/JuliaUser/testingdir"
source
Base.Filesystem.mkpathFunction
mkpath(path::AbstractString; mode::Unsigned = 0o777)

必要に応じてpath内のすべての中間ディレクトリを作成します。ディレクトリはmodeの権限で作成され、デフォルトは0o777で、現在のファイル作成マスクによって変更されます。mkdirとは異なり、mkpathpath(またはその一部)がすでに存在していてもエラーを返しません。ただし、path(またはその一部)が既存のファイルを指している場合はエラーが発生します。pathを返します。

pathにファイル名が含まれている場合は、ファイル名を使用してディレクトリを作成しないようにmkpath(dirname(path))を使用することをお勧めします。

julia> cd(mktempdir())

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"

julia> mkpath("intermediate_dir/actually_a_directory.txt") # 二つのディレクトリを作成
"intermediate_dir/actually_a_directory.txt"

julia> isdir("intermediate_dir/actually_a_directory.txt")
true
source
Base.Filesystem.hardlinkFunction
hardlink(src::AbstractString, dst::AbstractString)

既存のソースファイル src に対して、名前 dst のハードリンクを作成します。宛先 dst は存在してはいけません。

関連情報: symlink.

Julia 1.8

このメソッドは Julia 1.8 で追加されました。

source
Base.Filesystem.symlinkFunction
symlink(target::AbstractString, link::AbstractString; dir_target = false)

targetへのシンボリックリンクをlinkという名前で作成します。

Windowsでは、シンボリックリンクは明示的にディレクトリを参照するかどうかを宣言する必要があります。targetがすでに存在する場合、デフォルトではlinkのタイプは自動的に検出されますが、targetが存在しない場合、この関数はデフォルトでファイルシンボリックリンクを作成します。ただし、dir_targettrueに設定されている場合は除きます。ユーザーがdir_targetを設定した場合でも、targetが存在しファイルである場合、ディレクトリシンボリックリンクは作成されますが、シンボリックリンクの解決は失敗します。これは、ユーザーがディレクトリが作成される前にdir_targetfalseに設定してsymlink()を呼び出してファイルシンボリックリンクを作成した場合と同様です。

さらに、Windowsではリンクを作成する方法が2つあります。シンボリックリンクとジャンクションポイントです。ジャンクションポイントはわずかに効率的ですが、相対パスをサポートしていないため、相対ディレクトリシンボリックリンクが要求される場合(isabspath(target)falseを返す場合)、シンボリックリンクが使用され、それ以外の場合はジャンクションポイントが使用されます。Windowsでシンボリックリンクを作成する際のベストプラクティスは、参照するファイル/ディレクトリがすでに作成された後にのみ作成することです。

関連情報: hardlink

Note

この関数は、Windows XPなどのソフトシンボリックリンクをサポートしていないオペレーティングシステムではエラーを発生させます。

Julia 1.6

dir_targetキーワード引数はJulia 1.6で追加されました。それ以前は、Windows上の存在しないパスへのシンボリックリンクは常にファイルシンボリックリンクであり、ディレクトリへの相対シンボリックリンクはサポートされていませんでした。

source
Base.Filesystem.readlinkFunction
readlink(path::AbstractString) -> String

シンボリックリンク path が指すターゲットの場所を返します。

source
Base.Filesystem.chmodFunction
chmod(path::AbstractString, mode::Integer; recursive::Bool=false)

pathの権限モードをmodeに変更します。現在サポートされているのは整数のmode(例:0o777)のみです。recursive=trueで、pathがディレクトリの場合、そのディレクトリ内のすべての権限が再帰的に変更されます。pathを返します。

Note

Julia 1.6以前は、Windows上でファイルシステムACLを正しく操作できなかったため、ファイルの読み取り専用ビットのみを設定していました。現在はACLを操作できるようになりました。

source
Base.Filesystem.chownFunction
chown(path::AbstractString, owner::Integer, group::Integer=-1)

pathのオーナーおよび/またはグループをownerおよび/またはgroupに変更します。ownerまたはgroupに入力された値が-1の場合、対応するIDは変更されません。現在、整数のownerおよびgroupのみがサポートされています。pathを返します。

source
Base.Libc.RawFDType
RawFD

ネイティブOSファイルディスクリプタをラップするプリミティブ型です。RawFDは、基盤となるファイルに関する情報を発見するためにstatのようなメソッドに渡すことができ、ストリームを開くためにも使用でき、RawFDはストリームを支えるOSファイルを説明します。

source
Base.statFunction
stat(file)

ファイルに関する情報を含む構造体を返します。構造体のフィールドは次のとおりです:

名前説明
descUnion{String, Base.OS_HANDLE}パスまたはOSファイルディスクリプタ
sizeInt64ファイルのサイズ(バイト単位)
deviceUIntファイルを含むデバイスのID
inodeUIntファイルのinode番号
modeUIntファイルの保護モード
nlinkIntファイルへのハードリンクの数
uidUIntファイルの所有者のユーザーID
gidUIntファイル所有者のグループID
rdevUIntこのファイルがデバイスを参照している場合、参照しているデバイスのID
blksizeInt64ファイルのためのファイルシステムの推奨ブロックサイズ
blocksInt64割り当てられた512バイトブロックの数
mtimeFloat64ファイルが最後に変更されたときのUnixタイムスタンプ
ctimeFloat64ファイルのメタデータが変更されたときのUnixタイムスタンプ
source
Base.Filesystem.diskstatFunction
diskstat(path=pwd())

pathで指定されたファイルまたはディレクトリが含まれるディスクに関するバイト単位の統計情報を返します。引数が渡されない場合は、現在の作業ディレクトリが含まれるディスクに関する統計情報が返されます。

Julia 1.8

このメソッドはJulia 1.8で追加されました。

source
Base.Filesystem.lstatFunction
lstat(file)

statと同様ですが、シンボリックリンクの場合は、参照先のファイルではなく、リンク自体の情報を取得します。この関数は、ファイルオブジェクトやファイルディスクリプタではなく、ファイルパスに対して呼び出す必要があります。

source
Base.Filesystem.upermFunction
uperm(file)

ファイルの所有者の権限をビットフィールドとして取得します。

説明
01実行権限
02書き込み権限
04読み取り権限

許可されている引数については、statを参照してください。

source
Base.Filesystem.opermFunction
operm(file)

upermと似ていますが、ファイルを所有していない人やファイルを所有するグループのメンバーでない人のための権限を取得します。

source
Base.Filesystem.cpFunction
cp(src::AbstractString, dst::AbstractString; force::Bool=false, follow_symlinks::Bool=false)

srcからdstにファイル、リンク、またはディレクトリをコピーします。force=trueの場合、最初に既存のdstを削除します。

follow_symlinks=falseの場合、srcがシンボリックリンクであれば、dstはシンボリックリンクとして作成されます。follow_symlinks=truesrcがシンボリックリンクの場合、dstsrcが指すファイルまたはディレクトリのコピーになります。dstを返します。

Note

cp関数はcpコマンドとは異なります。cp関数は常にdstがファイルであると仮定して動作しますが、コマンドはdstがディレクトリかファイルかによって異なる動作をします。dstがディレクトリのときにforce=trueを使用すると、dstディレクトリ内のすべての内容が失われ、dstsrcの内容を持つファイルになります。

source
Base.downloadFunction
download(url::AbstractString, [path::AbstractString = tempname()]) -> path

指定されたURLからファイルをダウンロードし、pathに保存します。指定されていない場合は、一時的なパスに保存されます。ダウンロードしたファイルのパスを返します。

Note

Julia 1.6以降、この関数は非推奨であり、Downloads.downloadの薄いラッパーに過ぎません。新しいコードでは、この関数を呼び出すのではなく、直接その関数を使用するべきです。

source
Base.Filesystem.mvFunction
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.rmFunction
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("this_file_does_not_exist"): no such file or directory (ENOENT)
Stacktrace:
[...]
source
Base.Filesystem.touchFunction
Base.touch(::Pidfile.LockMonitor)

ロックの mtime を更新して、まだ新鮮であることを示します。

mkpidlock コンストラクタの refresh キーワードも参照してください。

source
touch(path::AbstractString)
touch(fd::File)

ファイルの最終更新タイムスタンプを現在の時間に更新します。

ファイルが存在しない場合は、新しいファイルが作成されます。

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

mtimetouchによって変更されたことがわかります。

source
Base.Filesystem.tempnameFunction
tempname(parent=tempdir(); cleanup=true) -> String

一時ファイルパスを生成します。この関数はパスのみを返し、ファイルは作成されません。パスはユニークである可能性が高いですが、tempnameへの2つの同時呼び出しが同じファイル名を生成する非常に遠い可能性のため、保証はできません。名前は、tempnameへの呼び出し時に既に存在するすべてのファイルとは異なることが保証されています。

引数なしで呼び出すと、一時名はシステムの一時ディレクトリにある一時名への絶対パスになります。parentディレクトリ引数が指定された場合、一時パスはそのディレクトリ内になります。

cleanupオプションは、プロセスが終了する際に返されたパスを自動的に削除しようとするかどうかを制御します。tempname関数は返された場所にファイルやディレクトリを作成しないため、そこにファイルやディレクトリを作成しない限り、クリーンアップするものはありません。もし作成し、cleanuptrueの場合、プロセス終了時に削除されます。

Julia 1.4

parentおよびcleanup引数は1.4で追加されました。Julia 1.4以前では、tempnameのパスはプロセス終了時にクリーンアップされることはありませんでした。

Warning

これにより、別のプロセスが同じファイル名を取得し、あなたが作成する前にファイルを作成することでセキュリティホールが生じる可能性があります。これが懸念される場合は、JL_O_EXCLでファイルを開いてください。また、mktemp()を使用することも推奨されます。

source
Base.Filesystem.tempdirFunction
tempdir()

一時ディレクトリのパスを取得します。Windowsでは、tempdir()は順序付きリストTMPTEMPUSERPROFILEで見つかった最初の環境変数を使用します。他のすべてのオペレーティングシステムでは、tempdir()は順序付きリストTMPDIRTMPTEMPTEMPDIRで見つかった最初の環境変数を使用します。これらのいずれも見つからない場合、パス"/tmp"が使用されます。

source
Base.Filesystem.mktempMethod
mktemp(parent=tempdir(); cleanup=true) -> (path, io)

(path, io)を返します。ここで、pathparent内の新しい一時ファイルのパスであり、ioはこのパスのオープンファイルオブジェクトです。cleanupオプションは、プロセスが終了したときに一時ファイルが自動的に削除されるかどうかを制御します。

Julia 1.3

cleanupキーワード引数はJulia 1.3で追加されました。関連して、1.3以降、Juliaプロセスが終了する際にmktempによって作成された一時パスが削除されます。ただし、cleanupが明示的にfalseに設定されている場合は除きます。

source
Base.Filesystem.mktempdirMethod
mktempdir(parent=tempdir(); prefix="jl_", cleanup=true) -> path

指定されたprefixとランダムなサフィックスから構成された名前の一時ディレクトリをparentディレクトリ内に作成し、そのパスを返します。さらに、一部のプラットフォームでは、prefix内の末尾の'X'文字がランダムな文字に置き換えられる場合があります。parentが存在しない場合は、エラーをスローします。cleanupオプションは、プロセスが終了したときに一時ディレクトリが自動的に削除されるかどうかを制御します。

Julia 1.2

prefixキーワード引数はJulia 1.2で追加されました。

Julia 1.3

cleanupキーワード引数はJulia 1.3で追加されました。関連して、1.3以降、Juliaプロセスが終了する際にmktempdirによって作成された一時パスが削除されます。ただし、cleanupが明示的にfalseに設定されている場合は除きます。

参照: mktemp, mkdir.

source
Base.Filesystem.mktempdirMethod
mktempdir(f::Function, parent=tempdir(); prefix="jl_")

関数 fmktempdir(parent; prefix) の結果に適用し、完了後に一時ディレクトリとそのすべての内容を削除します。

関連情報: mktemp, mkdir.

Julia 1.2

prefix キーワード引数は Julia 1.2 で追加されました。

source
Base.Filesystem.isblockdevFunction
isblockdev(path) -> Bool

path がブロックデバイスであれば true を返し、それ以外の場合は false を返します。

source
Base.Filesystem.ischardevFunction
ischardev(path) -> Bool

path がキャラクタデバイスであれば true を返し、そうでなければ false を返します。

source
Base.Filesystem.isdirFunction
isdir(path) -> Bool

pathがディレクトリであればtrueを返し、それ以外の場合はfalseを返します。

julia> isdir(homedir())
true

julia> isdir("not/a/directory")
false

isfileおよびispathも参照してください。

source
Base.Filesystem.isfifoFunction
isfifo(path) -> Bool

path が FIFO の場合は true を返し、それ以外の場合は false を返します。

source
Base.Filesystem.isfileFunction
isfile(path) -> Bool

pathが通常のファイルであればtrueを返し、それ以外の場合はfalseを返します。

julia> isfile(homedir())
false

julia> filename = "test_file.txt";

julia> write(filename, "Hello world!");

julia> isfile(filename)
true

julia> rm(filename);

julia> isfile(filename)
false

他にもisdirispathを参照してください。

source
Base.Filesystem.islinkFunction
islink(path) -> Bool

pathがシンボリックリンクであればtrueを返し、それ以外の場合はfalseを返します。

source
Base.Filesystem.ismountFunction
ismount(path) -> Bool

path がマウントポイントであれば true を返し、そうでなければ false を返します。

source
Base.Filesystem.ispathFunction
ispath(path) -> Bool

pathに有効なファイルシステムエンティティが存在する場合はtrueを返し、そうでない場合はfalseを返します。これはisfileisdirなどの一般化です。

source
Base.Filesystem.issetgidFunction
issetgid(path) -> Bool

path に setgid フラグが設定されている場合は true を返し、それ以外の場合は false を返します。

source
Base.Filesystem.issetuidFunction
issetuid(path) -> Bool

path に setuid フラグが設定されている場合は true を返し、そうでない場合は false を返します。

source
Base.Filesystem.issocketFunction
issocket(path) -> Bool

path がソケットであれば true を返し、そうでなければ false を返します。

source
Base.Filesystem.isstickyFunction
issticky(path) -> Bool

path にスティッキービットが設定されている場合は true を返し、そうでない場合は false を返します。

source
Base.Filesystem.homedirFunction
homedir() -> String

現在のユーザーのホームディレクトリを返します。

Note

homedirlibuvuv_os_homedir を介してホームディレクトリを決定します。詳細については(環境変数を介してホームディレクトリを指定する方法など)、uv_os_homedir ドキュメントを参照してください。

他にも Sys.username を参照してください。

source
Base.Filesystem.dirnameFunction
dirname(path::AbstractString) -> String

パスのディレクトリ部分を取得します。パスの末尾の文字('/' または '\')はパスの一部としてカウントされます。

julia> dirname("/home/myuser")
"/home"

julia> dirname("/home/myuser/")
"/home/myuser"

関連項目 basename.

source
Base.Filesystem.basenameFunction
basename(path::AbstractString) -> String

パスのファイル名部分を取得します。

Note

この関数はUnixのbasenameプログラムとは少し異なり、末尾のスラッシュは無視されます。つまり、$ basename /foo/bar/barを返しますが、Juliaのbasenameは空の文字列""を返します。

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

julia> basename("/home/myuser/")
""

他にdirnameを参照してください。

source
Base.Filesystem.isabspathFunction
isabspath(path::AbstractString) -> Bool

パスが絶対パスであるかどうかを判断します(ルートディレクトリから始まる)。

julia> isabspath("/home")
true

julia> isabspath("home")
false
source
Base.Filesystem.isdirpathFunction
isdirpath(path::AbstractString) -> Bool

パスがディレクトリを指しているかどうかを判断します(例えば、パスセパレータで終わる場合)。

julia> isdirpath("/home")
false

julia> isdirpath("/home/")
true
source
Base.Filesystem.joinpathFunction
joinpath(parts::AbstractString...) -> String
joinpath(parts::Vector{AbstractString}) -> String
joinpath(parts::Tuple{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"
julia> joinpath(["/home/myuser", "example.jl"])
"/home/myuser/example.jl"
source
Base.Filesystem.abspathFunction
abspath(path::AbstractString) -> String

現在のディレクトリを必要に応じて追加することで、パスを絶対パスに変換します。また、normpathのようにパスを正規化します。

JuliaExampleというディレクトリにいる場合、使用しているデータがJuliaExampleディレクトリから2階層上にある場合、次のように書くことができます:

abspath("../../data")

これにより、"/home/JuliaUser/data/"のようなパスが得られます。

他にもjoinpathpwdexpanduserを参照してください。

source
abspath(path::AbstractString, paths::AbstractString...) -> String

一連のパスを結合して絶対パスに変換し、必要に応じて現在のディレクトリを追加します。abspath(joinpath(path, paths...))と同等です。

source
Base.Filesystem.normpathFunction
normpath(path::AbstractString) -> String

パスを正規化し、"."および".."のエントリを削除し、"/"をシステムの標準パス区切り文字に変更します。

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

julia> normpath("Documents/Julia") == joinpath("Documents", "Julia")
true
source
normpath(path::AbstractString, paths::AbstractString...) -> String

一連のパスを正規化されたパスに変換し、それらを結合して "." および ".." エントリを削除します。これは normpath(joinpath(path, paths...)) と同等です。

source
Base.Filesystem.realpathFunction
realpath(path::AbstractString) -> String

シンボリックリンクを展開し、「.」および「..」エントリを削除することでパスを正規化します。大文字と小文字を区別しないが大文字小文字を保持するファイルシステム(通常はMacおよびWindows)では、パスのためにファイルシステムに保存されているケースが返されます。

(この関数は、pathがファイルシステムに存在しない場合に例外をスローします。)

source
Base.Filesystem.relpathFunction
relpath(path::AbstractString, startpath::AbstractString = ".") -> String

pathに対する相対ファイルパスを、現在のディレクトリまたはオプションの開始ディレクトリから返します。これはパス計算です:pathstartpathの存在や性質を確認するためにファイルシステムにはアクセスしません。

Windowsでは、ドライブレターを除くパスのすべての部分に対して大文字小文字の区別が適用されます。pathstartpathが異なるドライブを指す場合、pathの絶対パスが返されます。

source
Base.Filesystem.expanduserFunction
expanduser(path::AbstractString) -> AbstractString

Unixシステムでは、パスの先頭にあるチルダ文字を現在のユーザーのホームディレクトリに置き換えます。

関連情報: contractuser.

source
Base.Filesystem.contractuserFunction
contractuser(path::AbstractString) -> AbstractString

Unixシステムでは、パスが homedir() で始まる場合は、チルダ文字に置き換えます。

参照: expanduser.

source
Base.Filesystem.samefileFunction
samefile(path_a::AbstractString, path_b::AbstractString)

path_apath_b が同じ既存のファイルまたはディレクトリを指しているかどうかを確認します。

source
Base.Filesystem.splitdirFunction
splitdir(path::AbstractString) -> (AbstractString, AbstractString)

パスをディレクトリ名とファイル名のタプルに分割します。

julia> splitdir("/home/myuser")
("/home", "myuser")
source
Base.Filesystem.splitdriveFunction
splitdrive(path::AbstractString) -> (AbstractString, AbstractString)

Windowsでは、パスをドライブレター部分とパス部分に分割します。Unixシステムでは、最初のコンポーネントは常に空の文字列です。

source
Base.Filesystem.splitextFunction
splitext(path::AbstractString) -> (String, String)

パスの最後のコンポーネントに1つ以上のドットが含まれている場合、パスを最後のドットの前のすべての部分とドットを含むそれ以降のすべての部分に分割します。そうでない場合は、引数を変更せずにタプルと空の文字列を返します。"splitext"は"split extension"の略です。

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

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

julia> splitext("/home/my.user/example")
("/home/my.user/example", "")
source
Base.Filesystem.splitpathFunction
splitpath(path::AbstractString) -> Vector{String}

ファイルパスをすべてのパスコンポーネントに分割します。これは joinpath の逆です。パス内の各ディレクトリまたはファイルに対して1つのサブストリングを含む配列を返し、ルートディレクトリが存在する場合はそれも含まれます。

Julia 1.1

この関数は少なくともJulia 1.1を必要とします。

julia> splitpath("/home/myuser/example.jl")
4-element Vector{String}:
 "/"
 "home"
 "myuser"
 "example.jl"
source