Filesystem
Base.read — Methodread(filename::AbstractString)ファイルの全内容を Vector{UInt8} として読み込みます。
read(filename::AbstractString, String)ファイルの全内容を文字列として読み込みます。
read(filename::AbstractString, args...)ファイルを開いてその内容を読み込みます。args は read に渡されます:これは open(io->read(io, args...), filename) と同等です。
Base.write — Methodwrite(filename::AbstractString, content)contentの標準的なバイナリ表現をファイルに書き込みます。ファイルがまだ存在しない場合は作成され、存在する場合は上書きされます。
ファイルに書き込まれたバイト数を返します。
Base.Filesystem.pwd — Functionpwd() -> String現在の作業ディレクトリを取得します。
例
julia> pwd()
"/home/JuliaUser"
julia> cd("/home/JuliaUser/Projects/julia")
julia> pwd()
"/home/JuliaUser/Projects/julia"Base.Filesystem.cd — Methodcd(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"Base.Filesystem.cd — Methodcd(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 — Functionreaddir(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> 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"Base.Filesystem.walkdir — Functionwalkdir(dir; topdown=true, follow_symlinks=false, onerror=throw)ディレクトリのツリーを歩くイテレータを返します。イテレータは (rootpath, dirs, files) を含むタプルを返します。ディレクトリツリーは上から下へまたは下から上へとトラバースできます。walkdir または stat が IOError に遭遇した場合、デフォルトではエラーを再スローします。カスタムエラーハンドリング関数は onerror キーワード引数を通じて提供できます。onerror は IOError を引数として呼び出されます。
参照: 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
endjulia> 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 — Functionmkdir(path::AbstractString; mode::Unsigned = 0o777)名前 path の新しいディレクトリを作成し、権限 mode を設定します。mode はデフォルトで 0o777 で、現在のファイル作成マスクによって変更されます。この関数は、1つのディレクトリ以上を作成することはありません。ディレクトリがすでに存在する場合や、中間ディレクトリのいくつかが存在しない場合、この関数はエラーをスローします。すべての必要な中間ディレクトリを作成する関数については mkpath を参照してください。path を返します。
例
julia> mkdir("testingdir")
"testingdir"
julia> cd("testingdir")
julia> pwd()
"/home/JuliaUser/testingdir"Base.Filesystem.mkpath — Functionmkpath(path::AbstractString; mode::Unsigned = 0o777)pathに必要なすべての中間ディレクトリを作成します。ディレクトリは、デフォルトで0o777のmodeで作成され、現在のファイル作成マスクによって変更されます。mkdirとは異なり、mkpathはpath(またはその一部)がすでに存在している場合にエラーを返しません。ただし、path(またはその一部)が既存のファイルを指している場合はエラーが発生します。pathを返します。
pathにファイル名が含まれている場合は、ファイル名を使用してディレクトリを作成しないようにmkpath(dirname(path))を使用することをお勧めします。
例
julia> cd(mktempdir())
julia> mkpath("my/test/dir") # 3つのディレクトリを作成
"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") # 2つのディレクトリを作成
"intermediate_dir/actually_a_directory.txt"
julia> isdir("intermediate_dir/actually_a_directory.txt")
true
Base.Filesystem.hardlink — Functionhardlink(src::AbstractString, dst::AbstractString)既存のソースファイル src に対して、名前 dst のハードリンクを作成します。宛先 dst は存在してはいけません。
関連: symlink.
Base.Filesystem.symlink — Functionsymlink(target::AbstractString, link::AbstractString; dir_target = false)targetへのシンボリックリンクをlinkという名前で作成します。
Windowsでは、シンボリックリンクは明示的にディレクトリを参照するかどうかを宣言する必要があります。targetがすでに存在する場合、デフォルトではlinkのタイプは自動的に検出されますが、targetが存在しない場合、この関数はdir_targetがtrueに設定されていない限り、ファイルシンボリックリンクを作成することになります。ユーザーがdir_targetを設定した場合でも、targetが存在しファイルである場合、ディレクトリシンボリックリンクは作成されますが、シンボリックリンクを解決しようとすると失敗します。これは、ユーザーがディレクトリが作成される前にdir_targetをfalseに設定してsymlink()を呼び出してファイルシンボリックリンクを作成し、それをディレクトリに解決しようとする場合と同様です。
さらに、Windowsではリンクを作成する方法が2つあります。シンボリックリンクとジャンクションポイントです。ジャンクションポイントはわずかに効率的ですが、相対パスをサポートしていないため、相対ディレクトリシンボリックリンクが要求される場合(isabspath(target)がfalseを返す場合)、シンボリックリンクが使用され、それ以外の場合はジャンクションポイントが使用されます。Windowsでシンボリックリンクを作成する際のベストプラクティスは、参照するファイル/ディレクトリがすでに作成された後にのみ作成することです。
関連情報: hardlink.
Base.Filesystem.readlink — Functionreadlink(path::AbstractString) -> Stringシンボリックリンク path が指すターゲットの場所を返します。
Base.Filesystem.chmod — Functionchmod(path::AbstractString, mode::Integer; recursive::Bool=false)pathの権限モードをmodeに変更します。現在サポートされているのは整数のmode(例:0o777)のみです。recursive=trueで、pathがディレクトリの場合、そのディレクトリ内のすべての権限が再帰的に変更されます。pathを返します。
Base.Filesystem.chown — Functionchown(path::AbstractString, owner::Integer, group::Integer=-1)pathのオーナーおよび/またはグループをownerおよび/またはgroupに変更します。ownerまたはgroupに入力された値が-1の場合、対応するIDは変更されません。現在、整数のownerおよびgroupのみがサポートされています。pathを返します。
Base.Libc.RawFD — TypeRawFDネイティブOSファイルディスクリプタをラップするプリミティブ型です。RawFDは、基になるファイルに関する情報を発見するためにstatのようなメソッドに渡すことができ、ストリームを開くためにも使用でき、RawFDはストリームを支えるOSファイルを説明します。
Base.stat — Functionstat(file)ファイルに関する情報を含む構造体を返します。構造体のフィールドは次のとおりです:
| 名前 | 型 | 説明 |
|---|---|---|
| desc | Union{String, Base.OS_HANDLE} | パスまたはOSファイルディスクリプタ |
| size | Int64 | ファイルのサイズ(バイト単位) |
| device | UInt | ファイルを含むデバイスのID |
| inode | UInt | ファイルのinode番号 |
| mode | UInt | ファイルの保護モード |
| nlink | Int | ファイルへのハードリンクの数 |
| uid | UInt | ファイルの所有者のユーザーID |
| gid | UInt | ファイル所有者のグループID |
| rdev | UInt | このファイルがデバイスを参照している場合、参照しているデバイスのID |
| blksize | Int64 | ファイルのためのファイルシステムの推奨ブロックサイズ |
| blocks | Int64 | 割り当てられた512バイトブロックの数 |
| mtime | Float64 | ファイルが最後に変更されたときのUnixタイムスタンプ |
| ctime | Float64 | ファイルのメタデータが変更されたときのUnixタイムスタンプ |
Base.Filesystem.diskstat — Functiondiskstat(path=pwd())pathで指定されたファイルまたはディレクトリが含まれるディスクに関するバイト単位の統計情報を返します。引数が渡されない場合は、現在の作業ディレクトリが含まれるディスクに関する統計情報が返されます。
Base.Filesystem.lstat — Functionlstat(file)statと同様ですが、シンボリックリンクの場合は、参照先のファイルではなく、リンク自体の情報を取得します。この関数は、ファイルオブジェクトやファイルディスクリプタではなく、ファイルパスに対して呼び出す必要があります。
Base.Filesystem.ctime — Functionctime(file)stat(file).ctime と同等です。
Base.Filesystem.mtime — Functionmtime(file)stat(file).mtime と同等です。
Base.Filesystem.filemode — Functionfilemode(file)stat(file).mode と同等です。
Base.filesize — Functionfilesize(path...)stat(file).size と同等です。
Base.Filesystem.uperm — FunctionBase.Filesystem.gperm — Functiongperm(file)upermと同様ですが、ファイルを所有するグループの権限を取得します。
Base.Filesystem.operm — Functionoperm(file)upermと似ていますが、ファイルを所有していない人やファイルを所有しているグループのメンバーでない人のための権限を取得します。
Base.Filesystem.cp — Functioncp(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 — Functiondownload(url::AbstractString, [path::AbstractString = tempname()]) -> path指定されたurlからファイルをダウンロードし、pathに保存します。指定されていない場合は、一時的なパスに保存されます。ダウンロードしたファイルのパスを返します。
Base.Filesystem.mv — Functionmv(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 — Functionrm(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:
[...]Base.Filesystem.touch — FunctionBase.touch(::Pidfile.LockMonitor)ロックの mtime を更新して、それがまだ新しいことを示します。
mkpidlock コンストラクタの refresh キーワードも参照してください。
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.527381559163435e9mtimeがtouchによって変更されたことがわかります。
Base.Filesystem.tempname — Functiontempname(parent=tempdir(); cleanup=true) -> String一時ファイルのパスを生成します。この関数はパスのみを返し、ファイルは作成されません。パスは一意である可能性が高いですが、tempnameへの2つの同時呼び出しが同じファイル名を生成する非常に遠い可能性のため、保証されるものではありません。名前は、tempnameへの呼び出し時に既に存在するすべてのファイルとは異なることが保証されています。
引数なしで呼び出すと、一時名はシステムの一時ディレクトリにある一時名への絶対パスになります。parentディレクトリ引数が指定された場合、一時パスはそのディレクトリ内になります。
cleanupオプションは、プロセスが終了する際に返されたパスを自動的に削除しようとするかどうかを制御します。tempname関数は返された場所にファイルやディレクトリを作成しないため、そこにファイルやディレクトリを作成しない限り、クリーンアップするものはありません。もし作成し、cleanupがtrueの場合、プロセス終了時に削除されます。
これにより、別のプロセスが同じファイル名を取得し、あなたが作成する前にファイルを作成することでセキュリティホールが生じる可能性があります。これが懸念される場合は、JL_O_EXCLでファイルを開いてください。また、mktemp()を使用することも推奨されます。
Base.Filesystem.tempdir — Functiontempdir()一時ディレクトリのパスを取得します。Windowsでは、tempdir()は順序付きリストTMP、TEMP、USERPROFILEで見つかった最初の環境変数を使用します。他のすべてのオペレーティングシステムでは、tempdir()は順序付きリストTMPDIR、TMP、TEMP、TEMPDIRで見つかった最初の環境変数を使用します。これらのいずれも見つからない場合、パス"/tmp"が使用されます。
Base.Filesystem.mktemp — Methodmktemp(parent=tempdir(); cleanup=true) -> (path, io)(path, io)を返します。ここで、pathはparent内の新しい一時ファイルのパスであり、ioはこのパスのオープンファイルオブジェクトです。cleanupオプションは、プロセスが終了したときに一時ファイルが自動的に削除されるかどうかを制御します。
Base.Filesystem.mktemp — MethodBase.Filesystem.mktempdir — Methodmktempdir(parent=tempdir(); prefix="jl_", cleanup=true) -> path指定されたprefixとランダムなサフィックスから構成された名前を持つ一時ディレクトリをparentディレクトリ内に作成し、そのパスを返します。さらに、一部のプラットフォームでは、prefix内の末尾の'X'文字がランダムな文字に置き換えられる場合があります。parentが存在しない場合は、エラーをスローします。cleanupオプションは、プロセスが終了したときに一時ディレクトリが自動的に削除されるかどうかを制御します。
Base.Filesystem.mktempdir — Methodmktempdir(f::Function, parent=tempdir(); prefix="jl_")関数 f を mktempdir(parent; prefix) の結果に適用し、完了後に一時ディレクトリとそのすべての内容を削除します。
Base.Filesystem.isblockdev — Functionisblockdev(path) -> Boolpath がブロックデバイスであれば true を返し、それ以外の場合は false を返します。
Base.Filesystem.ischardev — Functionischardev(path) -> Boolpathがキャラクタデバイスであればtrueを返し、それ以外の場合はfalseを返します。
Base.Filesystem.isdir — Functionisdir(path) -> Boolpathがディレクトリであればtrueを返し、そうでなければfalseを返します。
例
julia> isdir(homedir())
true
julia> isdir("not/a/directory")
falseBase.Filesystem.isfifo — Functionisfifo(path) -> Boolpath が FIFO の場合は true を返し、それ以外の場合は false を返します。
Base.Filesystem.isfile — Functionisfile(path) -> Boolpathが通常のファイルであれば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)
falseBase.Filesystem.islink — Functionislink(path) -> Boolpathがシンボリックリンクであればtrueを返し、それ以外の場合はfalseを返します。
Base.Filesystem.ismount — Functionismount(path) -> Boolpath がマウントポイントであれば true を返し、そうでなければ false を返します。
Base.Filesystem.ispath — Functionispath(path) -> Boolpathに有効なファイルシステムエンティティが存在する場合はtrueを返し、そうでない場合はfalseを返します。これはisfile、isdirなどの一般化です。
Base.Filesystem.issetgid — Functionissetgid(path) -> Boolpath に setgid フラグが設定されている場合は true を返し、それ以外の場合は false を返します。
Base.Filesystem.issetuid — Functionissetuid(path) -> Boolpath に setuid フラグが設定されている場合は true を返し、それ以外の場合は false を返します。
Base.Filesystem.issocket — Functionissocket(path) -> Boolpath がソケットであれば true を返し、それ以外の場合は false を返します。
Base.Filesystem.issticky — Functionissticky(path) -> Boolpath にスティッキービットが設定されている場合は true を返し、それ以外の場合は false を返します。
Base.Filesystem.homedir — Functionhomedir() -> String現在のユーザーのホームディレクトリを返します。
homedir は libuv の uv_os_homedir を介してホームディレクトリを決定します。詳細については(環境変数を介してホームディレクトリを指定する方法など)、uv_os_homedir ドキュメントを参照してください。
他にも Sys.username を参照してください。
Base.Filesystem.dirname — Functiondirname(path::AbstractString) -> Stringパスのディレクトリ部分を取得します。パスの末尾の文字('/' または '\')はパスの一部としてカウントされます。
例
julia> dirname("/home/myuser")
"/home"
julia> dirname("/home/myuser/")
"/home/myuser"関連情報は basename を参照してください。
Base.Filesystem.basename — Functionbasename(path::AbstractString) -> Stringパスのファイル名部分を取得します。
この関数はUnixのbasenameプログラムとは少し異なり、末尾のスラッシュは無視されます。つまり、$ basename /foo/bar/はbarを返しますが、Juliaのbasenameは空の文字列""を返します。
例
julia> basename("/home/myuser/example.jl")
"example.jl"
julia> basename("/home/myuser/")
""関連項目はdirnameです。
Base.Filesystem.isabspath — Functionisabspath(path::AbstractString) -> Boolパスが絶対パスであるかどうかを判断します(ルートディレクトリから始まる)。
例
julia> isabspath("/home")
true
julia> isabspath("home")
falseBase.Filesystem.isdirpath — Functionisdirpath(path::AbstractString) -> Boolパスがディレクトリを指しているかどうかを判断します(例えば、パスセパレーターで終わる場合)。
例
julia> isdirpath("/home")
false
julia> isdirpath("/home/")
trueBase.Filesystem.joinpath — Functionjoinpath(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"Base.Filesystem.abspath — Functionabspath(path::AbstractString) -> String現在のディレクトリを必要に応じて追加することで、パスを絶対パスに変換します。また、normpathのようにパスを正規化します。
例
JuliaExampleというディレクトリにいる場合、使用しているデータがJuliaExampleディレクトリから2階層上にある場合、次のように書くことができます。
abspath("../../data")これにより、"/home/JuliaUser/data/"のようなパスが得られます。
他にもjoinpath、pwd、expanduserを参照してください。
abspath(path::AbstractString, paths::AbstractString...) -> String一連のパスを結合し、必要に応じて現在のディレクトリを追加することで、絶対パスに変換します。abspath(joinpath(path, paths...))と同等です。
Base.Filesystem.normpath — Functionnormpath(path::AbstractString) -> Stringパスを正規化し、"."および".."エントリを削除し、"/"をシステムの標準パス区切り文字に変更します。
例
julia> normpath("/home/myuser/../example.jl")
"/home/example.jl"
julia> normpath("Documents/Julia") == joinpath("Documents", "Julia")
truenormpath(path::AbstractString, paths::AbstractString...) -> String一連のパスを結合し、"."および".."エントリを削除することによって正規化されたパスに変換します。normpath(joinpath(path, paths...))と同等です。
Base.Filesystem.realpath — Functionrealpath(path::AbstractString) -> Stringシンボリックリンクを展開し、"."および".."エントリを削除することでパスを正規化します。大文字と小文字を区別しない大文字小文字を保持するファイルシステム(通常はMacおよびWindows)では、パスのファイルシステムに保存された大文字小文字が返されます。
(この関数は、pathがファイルシステムに存在しない場合に例外をスローします。)
Base.Filesystem.relpath — Functionrelpath(path::AbstractString, startpath::AbstractString = ".") -> Stringpath から現在のディレクトリまたはオプションの開始ディレクトリからの相対ファイルパスを返します。これはパス計算です:ファイルシステムにアクセスして path または startpath の存在や性質を確認することはありません。
Windows では、ドライブレターを除くパスのすべての部分に対して大文字と小文字の区別が適用されます。path と startpath が異なるドライブを指している場合、path の絶対パスが返されます。
Base.Filesystem.expanduser — Functionexpanduser(path::AbstractString) -> AbstractStringUnixシステムでは、パスの先頭にあるチルダ文字を現在のユーザーのホームディレクトリに置き換えます。
関連情報: contractuser.
Base.Filesystem.contractuser — Functioncontractuser(path::AbstractString) -> AbstractStringUnixシステムでは、パスが homedir() で始まる場合は、それをチルダ文字に置き換えます。
参照: expanduser.
Base.Filesystem.samefile — Functionsamefile(path_a::AbstractString, path_b::AbstractString)path_a と path_b が同じ既存のファイルまたはディレクトリを指しているかどうかを確認します。
Base.Filesystem.splitdir — Functionsplitdir(path::AbstractString) -> (AbstractString, AbstractString)パスをディレクトリ名とファイル名のタプルに分割します。
例
julia> splitdir("/home/myuser")
("/home", "myuser")Base.Filesystem.splitdrive — Functionsplitdrive(path::AbstractString) -> (AbstractString, AbstractString)Windowsでは、パスをドライブレター部分とパス部分に分割します。Unixシステムでは、最初のコンポーネントは常に空の文字列です。
Base.Filesystem.splitext — Functionsplitext(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", "")Base.Filesystem.splitpath — Functionsplitpath(path::AbstractString) -> Vector{String}ファイルパスをすべてのパスコンポーネントに分割します。これは joinpath の逆です。パス内の各ディレクトリまたはファイルに対して1つのサブストリングを含む配列を返し、ルートディレクトリが存在する場合はそれも含まれます。
例
julia> splitpath("/home/myuser/example.jl")
4-element Vector{String}:
"/"
"home"
"myuser"
"example.jl"