Filesystem
Base.read — Methodread(filename::AbstractString)Bir dosyanın tüm içeriğini Vector{UInt8} olarak oku.
read(filename::AbstractString, String)Bir dosyanın tüm içeriğini bir dize olarak oku.
read(filename::AbstractString, args...)Bir dosyayı aç ve içeriğini oku. args, read fonksiyonuna iletilir: bu, open(io->read(io, args...), filename) ile eşdeğerdir.
Base.write — Methodwrite(filename::AbstractString, content)content'ın kanonik ikili temsilini bir dosyaya yazın, dosya henüz yoksa oluşturulacak veya mevcutsa üzerine yazılacaktır.
Dosyaya yazılan byte sayısını döndürün.
Base.Filesystem.pwd — Functionpwd() -> StringGeçerli çalışma dizinini alır.
Örnekler
julia> pwd()
"/home/JuliaUser"
julia> cd("/home/JuliaUser/Projects/julia")
julia> pwd()
"/home/JuliaUser/Projects/julia"Base.Filesystem.cd — Methodcd(dir::AbstractString=homedir())Geçerli çalışma dizinini ayarlayın.
Ayrıca bakınız: pwd, mkdir, mkpath, mktempdir.
Örnekler
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())Geçici olarak mevcut çalışma dizinini dir olarak değiştirir, f fonksiyonunu uygular ve sonunda orijinal dizine geri döner.
Örnekler
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 dizinindeki isimleri veya verilmediği takdirde mevcut çalışma dizinindeki isimleri döndürür. join false olduğunda, readdir dizindeki isimleri olduğu gibi döndürür; join true olduğunda ise her name için joinpath(dir, name) döndürerek, döndürülen dizelerin tam yollarını sağlar. Mutlak yollar almak istiyorsanız, readdir'i mutlak bir dizin yolu ve join true olarak çağırmalısınız.
Varsayılan olarak, readdir döndürdüğü isimlerin listesini sıralar. İsimleri sıralamadan atlamak ve dosya sisteminin listelediği sırayla almak istiyorsanız, sıralamadan vazgeçmek için readdir(dir, sort=false) kullanabilirsiniz.
Ayrıca bakınız: walkdir.
join ve sort anahtar argümanları en az Julia 1.4 gerektirir.
Örnekler
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)Bir dizinin dizin ağacını dolaşan bir yineleyici döndürür. Yineleyici, (rootpath, dirs, files) içeren bir demet döndürür. Dizin ağacı yukarıdan aşağıya veya aşağıdan yukarıya gezilebilir. Eğer walkdir veya stat bir IOError ile karşılaşırsa, varsayılan olarak hatayı yeniden fırlatır. Özel bir hata işleme fonksiyonu onerror anahtar argümanı aracılığıyla sağlanabilir. onerror, bir IOError ile argüman olarak çağrılır.
Ayrıca bakınız: readdir.
Örnekler
for (root, dirs, files) in walkdir(".")
println("Dizinler $root içinde")
for dir in dirs
println(joinpath(root, dir)) # dizinlere giden yol
end
println("Dosyalar $root içinde")
for file in files
println(joinpath(root, file)) # dosyalara giden yol
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)Yeni bir dizin oluşturun path adıyla ve izinlerle mode. mode varsayılan olarak 0o777'dir ve mevcut dosya oluşturma maskesi tarafından değiştirilir. Bu işlev asla birden fazla dizin oluşturmaz. Eğer dizin zaten mevcutsa veya bazı ara dizinler mevcut değilse, bu işlev bir hata fırlatır. Gerekli tüm ara dizinleri oluşturan bir işlev için mkpath kısmına bakın. path döndürülür.
Örnekler
julia> mkdir("testingdir")
"testingdir"
julia> cd("testingdir")
julia> pwd()
"/home/JuliaUser/testingdir"Base.Filesystem.mkpath — Functionmkpath(path::AbstractString; mode::Unsigned = 0o777)Gerekli olduğu gibi path içindeki tüm ara dizinleri oluşturur. Dizinler, varsayılan olarak 0o777 olan ve mevcut dosya oluşturma maskesi tarafından değiştirilen mode izinleriyle oluşturulur. mkdir ile karşılaştırıldığında, mkpath, path (veya onun parçaları) zaten mevcutsa hata vermez. Ancak, path (veya onun parçaları) mevcut bir dosyaya işaret ediyorsa bir hata fırlatılacaktır. path'i döndürür.
Eğer path bir dosya adı içeriyorsa, bir dizin oluşturmak için dosya adını kullanmaktan kaçınmak için muhtemelen mkpath(dirname(path)) kullanmak isteyeceksiniz.
Örnekler
julia> cd(mktempdir())
julia> mkpath("my/test/dir") # üç dizin oluşturur
"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") # iki dizin oluşturur
"intermediate_dir/actually_a_directory.txt"
julia> isdir("intermediate_dir/actually_a_directory.txt")
true
Base.Filesystem.hardlink — Functionhardlink(src::AbstractString, dst::AbstractString)Mevcut bir kaynak dosyasına src adıyla dst adında bir sert bağlantı oluşturur. Hedef dst mevcut olmamalıdır.
Ayrıca bakınız: symlink.
Bu yöntem Julia 1.8'de eklendi.
Base.Filesystem.symlink — Functionsymlink(target::AbstractString, link::AbstractString; dir_target = false)link adında bir sembolik bağlantı oluşturur ve bu bağlantı target'a işaret eder.
Windows'ta, sembolik bağlantılar açıkça bir dizine veya değil olarak tanımlanmalıdır. Eğer target zaten mevcutsa, varsayılan olarak link'in türü otomatik olarak algılanır; ancak target mevcut değilse, bu işlev varsayılan olarak bir dosya sembolik bağlantısı oluşturur, dir_target true olarak ayarlanmadıkça. Kullanıcı dir_target'ı ayarlarsa ancak target mevcutsa ve bir dosya ise, yine de bir dizin sembolik bağlantısı oluşturulacaktır, ancak sembolik bağlantıyı çözümleme işlemi başarısız olacaktır; tıpkı kullanıcının bir dosya sembolik bağlantısı oluşturması (dizin oluşturulmadan önce dir_target false olarak ayarlanmış symlink() çağrısı yaparak) ve bunu bir dizine çözümlemeye çalışması gibi.
Ayrıca, Windows'ta bir bağlantı oluşturmanın iki yöntemi vardır; sembolik bağlantılar ve kesişim noktaları. Kesişim noktaları biraz daha verimlidir, ancak göreli yolları desteklemez, bu nedenle göreli bir dizin sembolik bağlantısı talep edilirse (bu, isabspath(target)'ın false döndürmesiyle belirtilir) bir sembolik bağlantı kullanılacaktır, aksi takdirde bir kesişim noktası kullanılacaktır. Windows'ta sembolik bağlantılar oluşturmanın en iyi uygulaması, yalnızca referans verdikleri dosyalar/dizinler zaten oluşturulduktan sonra bunları oluşturmaktır.
Ayrıca bakınız: hardlink.
Bu işlev, Windows XP gibi yumuşak sembolik bağlantıları desteklemeyen işletim sistemlerinde bir hata oluşturur.
dir_target anahtar argümanı Julia 1.6'da eklendi. Bunun öncesinde, Windows'ta mevcut olmayan yollara yapılan sembolik bağlantılar her zaman dosya sembolik bağlantıları olurdu ve dizinlere göreli sembolik bağlantılar desteklenmiyordu.
Base.Filesystem.readlink — Functionreadlink(path::AbstractString) -> StringBir sembolik bağlantının path işaret ettiği hedef konumu döndürür.
Base.Filesystem.chmod — Functionchmod(path::AbstractString, mode::Integer; recursive::Bool=false)path'in izin modunu mode olarak değiştirir. Sadece tam sayı mode'lar (örneğin 0o777) şu anda desteklenmektedir. Eğer recursive=true ise ve yol bir dizin ise, o dizindeki tüm izinler yinelemeli olarak değiştirilecektir. path'i döndür.
Julia 1.6'dan önce, bu Windows'ta dosya sistemi ACL'lerini doğru bir şekilde manipüle edemiyordu, bu nedenle yalnızca dosyalardaki salt okunur bitlerini ayarlıyordu. Artık ACL'leri manipüle edebilmektedir.
Base.Filesystem.chown — Functionchown(path::AbstractString, owner::Integer, group::Integer=-1)path'in sahibi ve/veya grubunu owner ve/veya group olarak değiştirir. owner veya group için girilen değer -1 ise, ilgili ID değişmeyecektir. Şu anda yalnızca tam sayı owner ve group desteklenmektedir. path'i döndür.
Base.Libc.RawFD — TypeRawFDYerel işletim sistemi dosya tanımlayıcısını saran ilkel tür. RawFD'ler, altındaki dosya hakkında bilgi edinmek için stat gibi yöntemlere geçirilebilir ve ayrıca akışları açmak için kullanılabilir; RawFD, akışı destekleyen işletim sistemi dosyasını tanımlar.
Base.stat — Functionstat(file)Bir yapıyı döndürür; bu yapının alanları dosya hakkında bilgi içerir. Yapının alanları şunlardır:
| İsim | Tür | Açıklama |
|---|---|---|
| desc | Union{String, Base.OS_HANDLE} | Yol veya OS dosya tanımlayıcısı |
| size | Int64 | Dosyanın boyutu (bayt cinsinden) |
| device | UInt | Dosyayı içeren cihazın kimliği |
| inode | UInt | Dosyanın inode numarası |
| mode | UInt | Dosyanın koruma modu |
| nlink | Int | Dosyaya bağlı sert bağlantı sayısı |
| uid | UInt | Dosya sahibinin kullanıcı kimliği |
| gid | UInt | Dosya sahibinin grup kimliği |
| rdev | UInt | Bu dosya bir cihaza atıfta bulunuyorsa, atıfta bulunduğu cihazın kimliği |
| blksize | Int64 | Dosya için dosya sistemi tercih edilen blok boyutu |
| blocks | Int64 | Ayrılan 512 baytlık blok sayısı |
| mtime | Float64 | Dosyanın en son ne zaman değiştirildiğinin Unix zaman damgası |
| ctime | Float64 | Dosyanın meta verilerinin ne zaman değiştirildiğinin Unix zaman damgası |
Base.Filesystem.diskstat — Functiondiskstat(path=pwd())path ile belirtilen dosya veya dizini içeren diskin bayt cinsinden istatistiklerini döndürür. Hiçbir argüman geçilmezse, mevcut çalışma dizinini içeren diskin istatistikleri döndürülür.
Bu yöntem Julia 1.8'de eklendi.
Base.Filesystem.lstat — Functionlstat(dosya)stat gibi, ancak sembolik bağlantılar için bağlantının kendisiyle ilgili bilgileri alır, referans verdiği dosya yerine. Bu işlev, bir dosya nesnesi veya dosya tanımlayıcısı yerine bir dosya yolu üzerinde çağrılmalıdır.
Base.Filesystem.ctime — Functionctime(dosya)stat(dosya).ctime ile eşdeğerdir.
Base.Filesystem.mtime — Functionmtime(dosya)stat(dosya).mtime ile eşdeğerdir.
Base.Filesystem.filemode — Functionfilemode(dosya)stat(dosya).mode ile eşdeğerdir.
Base.filesize — Functionfilesize(path...)stat(file).size ile eşdeğerdir.
Base.Filesystem.uperm — Functionuperm(dosya)Dosyanın sahibinin izinlerini bit alanı olarak alır
| Değer | Açıklama |
|---|---|
| 01 | Çalıştırma İzni |
| 02 | Yazma İzni |
| 04 | Okuma İzni |
İzin verilen argümanlar için stat kısmına bakın.
Base.Filesystem.gperm — Functiongperm(file)uperm gibi, ancak dosyanın sahibi olan grubun izinlerini alır.
Base.Filesystem.operm — Functionoperm(file)uperm gibi, ancak dosyanın sahibi olmayan veya dosyanın sahibi olan grubun üyesi olmayan kişiler için izinleri alır.
Base.Filesystem.cp — Functioncp(src::AbstractString, dst::AbstractString; force::Bool=false, follow_symlinks::Bool=false)src'den dst'ye dosyayı, bağlantıyı veya dizini kopyalayın. force=true mevcut bir dst'yi önce kaldıracaktır.
Eğer follow_symlinks=false ise ve src bir sembolik bağlantıysa, dst bir sembolik bağlantı olarak oluşturulacaktır. Eğer follow_symlinks=true ve src bir sembolik bağlantıysa, dst, src'nin referans verdiği dosyanın veya dizinin bir kopyası olacaktır. dst'yi döndürün.
cp fonksiyonu cp komutundan farklıdır. cp fonksiyonu her zaman dst'nin bir dosya olduğu varsayımıyla çalışır, oysa komut dst'nin bir dizin mi yoksa bir dosya mı olduğuna bağlı olarak farklı şeyler yapar. dst bir dizin olduğunda force=true kullanmak, dst dizininde mevcut olan tüm içeriklerin kaybına yol açacak ve dst, src'nin içeriklerini barındıran bir dosya haline gelecektir.
Base.download — Functiondownload(url::AbstractString, [path::AbstractString = tempname()]) -> pathVerilen url'den bir dosya indirir, dosyayı path konumuna kaydeder veya belirtilmemişse geçici bir konuma kaydeder. İndirilen dosyanın yolunu döner.
Julia 1.6'dan itibaren, bu fonksiyon kullanımdan kaldırılmıştır ve sadece Downloads.download etrafında ince bir sarmalayıcıdır. Yeni kodda, bu fonksiyonu doğrudan çağırmak yerine kullanmalısınız.
Base.Filesystem.mv — Functionmv(src::AbstractString, dst::AbstractString; force::Bool=false)Dosyayı, bağlantıyı veya dizini src'den dst'ye taşıyın. force=true mevcut bir dst'yi önce kaldıracaktır. dst'yi döndürün.
Örnekler
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")
HATA: ArgumentError: 'goodbye.txt' mevcut. 'goodbye.txt'yi taşımadan önce kaldırmak için `force=true` gereklidir.
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)Verilen yoldaki dosyayı, bağlantıyı veya boş dizini siler. Eğer force=true geçilirse, var olmayan bir yol hata olarak değerlendirilmez. Eğer recursive=true geçilirse ve yol bir dizin ise, tüm içerikler özyinelemeli olarak silinir.
Örnekler
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")
HATA: IOError: unlink("this_file_does_not_exist"): böyle bir dosya veya dizin yok (ENOENT)
Yığın izi:
[...]Base.Filesystem.touch — FunctionBase.touch(::Pidfile.LockMonitor)Kilidi güncel tutmak için mtime değerini günceller.
Ayrıca mkpidlock yapıcısındaki refresh anahtar kelimesine de bakın.
touch(path::AbstractString)
touch(fd::File)Bir dosyanın son değiştirilme zamanını mevcut zamana günceller.
Eğer dosya mevcut değilse yeni bir dosya oluşturulur.
path döner.
Örnekler
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 fonksiyonunun touch ile değiştirildiğini görebiliriz.
Base.Filesystem.tempname — Functiontempname(parent=tempdir(); cleanup=true) -> StringGeçici bir dosya yolu oluşturur. Bu fonksiyon yalnızca bir yol döndürür; dosya oluşturulmaz. Yolın benzersiz olması muhtemeldir, ancak tempname'e iki eşzamanlı çağrının aynı dosya adını oluşturma olasılığı nedeniyle bu garanti edilemez. İsim, tempname çağrısı sırasında zaten mevcut olan tüm dosyalardan farklı olacağı garanti edilir.
Hiçbir argüman verilmeden çağrıldığında, geçici ad, tempdir() tarafından verilen sistem geçici dizininde bir geçici ad için mutlak bir yol olacaktır. Eğer bir parent dizin argümanı verilirse, geçici yol bunun yerine o dizinde olacaktır.
cleanup seçeneği, işlemin çıkış yaptığında döndürülen yolu otomatik olarak silmeye çalışıp çalışmayacağını kontrol eder. tempname fonksiyonu döndürülen konumda herhangi bir dosya veya dizin oluşturmadığı için, orada bir dosya veya dizin oluşturmadığınız sürece silinecek bir şey yoktur. Eğer bir dosya veya dizin oluşturursanız ve cleanup true ise, işlem sona erdiğinde silinecektir.
parent ve cleanup argümanları 1.4'te eklendi. Julia 1.4'ten önce tempname'in yolu işlem sona erdiğinde asla temizlenmeyecekti.
Bu, başka bir işlemin aynı dosya adını alması ve dosyayı sizden önce oluşturması durumunda güvenlik açıklarına yol açabilir. Bu bir endişe ise dosyayı JL_O_EXCL ile açın. Bunun yerine mktemp() kullanılması da önerilir.
Base.Filesystem.tempdir — Functiontempdir()Geçici dizinin yolunu alır. Windows'ta, tempdir() sıralı listede bulunan ilk ortam değişkenini TMP, TEMP, USERPROFILE kullanır. Diğer tüm işletim sistemlerinde, tempdir() sıralı listede bulunan ilk ortam değişkenini TMPDIR, TMP, TEMP ve TEMPDIR kullanır. Eğer bunlardan hiçbiri bulunamazsa, "/tmp" yolu kullanılır.
Base.Filesystem.mktemp — Methodmktemp(parent=tempdir(); cleanup=true) -> (path, io)(path, io) döndür, burada path yeni bir geçici dosyanın parent içindeki yolu ve io bu yol için açık bir dosya nesnesidir. cleanup seçeneği, geçici dosyanın işlem sona erdiğinde otomatik olarak silinip silinmeyeceğini kontrol eder.
cleanup anahtar argümanı Julia 1.3'te eklendi. İlgili olarak, 1.3'ten itibaren, Julia, cleanup açıkça false olarak ayarlanmamışsa, Julia işlemi sona erdiğinde mktemp ile oluşturulan geçici yolları silecektir.
Base.Filesystem.mktemp — Methodmktemp(f::Function, parent=tempdir())mktemp(parent) sonucuna f fonksiyonunu uygulayın ve işlemi tamamladıktan sonra geçici dosyayı kaldırın.
Ayrıca bkz: mktempdir.
Base.Filesystem.mktempdir — Methodmktempdir(parent=tempdir(); prefix="jl_", cleanup=true) -> pathparent dizininde, verilen prefix ve rastgele bir ek ile oluşturulmuş bir isimle geçici bir dizin oluşturur ve yolunu döner. Ayrıca, bazı platformlarda, prefix içindeki herhangi bir son 'X' karakteri rastgele karakterlerle değiştirilebilir. Eğer parent mevcut değilse, bir hata fırlatır. cleanup seçeneği, geçici dizinin işlemin çıkışında otomatik olarak silinip silinmeyeceğini kontrol eder.
prefix anahtar argümanı Julia 1.2'de eklendi.
cleanup anahtar argümanı Julia 1.3'te eklendi. İlgili olarak, 1.3'ten itibaren, Julia, mktempdir ile oluşturulan geçici yolları, cleanup açıkça false olarak ayarlanmamışsa, Julia işlemi çıkarken silecektir.
Base.Filesystem.mktempdir — Methodmktempdir(f::Function, parent=tempdir(); prefix="jl_")Fonksiyonu f'yi mktempdir(parent; prefix) sonucuna uygular ve tamamlandığında geçici dizini ve tüm içeriğini kaldırır.
Ayrıca bakınız: mktemp, mkdir.
prefix anahtar argümanı Julia 1.2'de eklendi.
Base.Filesystem.isblockdev — Functionisblockdev(path) -> Boolpath bir blok cihazıysa true, aksi takdirde false döner.
Base.Filesystem.ischardev — Functionischardev(path) -> Boolpath bir karakter cihazı ise true, aksi takdirde false döner.
Base.Filesystem.isdir — Functionisdir(path) -> Boolpath bir dizin ise true, aksi takdirde false döner.
Örnekler
julia> isdir(homedir())
true
julia> isdir("not/a/directory")
falseBase.Filesystem.isfifo — Functionisfifo(path) -> Boolpath bir FIFO ise true, aksi takdirde false döner.
Base.Filesystem.isfile — Functionisfile(path) -> Boolpath bir normal dosya ise true, aksi takdirde false döner.
Örnekler
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 bir sembolik bağlantıysa true, aksi takdirde false döner.
Base.Filesystem.ismount — Functionismount(path) -> Boolpath bir montaj noktasıysa true, aksi takdirde false döner.
Base.Filesystem.ispath — Functionispath(path) -> BoolGeçerli bir dosya sistemi varlığı path'te mevcutsa true döner, aksi takdirde false döner. Bu, isfile, isdir vb. için bir genellemedir.
Base.Filesystem.issetgid — Functionissetgid(path) -> Boolpath setgid bayrağı ayarlanmışsa true, aksi takdirde false döner.
Base.Filesystem.issetuid — Functionissetuid(path) -> Boolpath setuid bayrağı ayarlanmışsa true, aksi takdirde false döndür.
Base.Filesystem.issocket — Functionissocket(path) -> Boolpath bir soket ise true, aksi takdirde false döner.
Base.Filesystem.issticky — Functionissticky(path) -> Boolpath üzerinde sticky bit ayarlıysa true, aksi takdirde false döner.
Base.Filesystem.homedir — Functionhomedir() -> StringMevcut kullanıcının ana dizinini döndürür.
homedir, ana dizini libuv'nin uv_os_homedir aracılığıyla belirler. Ana dizini ortam değişkenleri aracılığıyla nasıl belirleyeceğinizle ilgili ayrıntılar için uv_os_homedir belgelerine bakın.
Ayrıca bkz. Sys.username.
Base.Filesystem.dirname — Functiondirname(path::AbstractString) -> StringBir yolun dizin kısmını alır. Yoldaki son karakterler ('/' veya '\') yolun bir parçası olarak sayılır.
Örnekler
julia> dirname("/home/myuser")
"/home"
julia> dirname("/home/myuser/")
"/home/myuser"Ayrıca basename bakınız.
Base.Filesystem.basename — Functionbasename(path::AbstractString) -> StringBir yolun dosya adı kısmını alır.
Bu işlev, sonundaki eğik çizgilerin göz ardı edildiği Unix basename programından biraz farklıdır; yani $ basename /foo/bar/ bar dönerken, Julia'daki basename boş bir dize "" döner.
Örnekler
julia> basename("/home/myuser/example.jl")
"example.jl"
julia> basename("/home/myuser/")
""Ayrıca bkz. dirname.
Base.Filesystem.isabspath — Functionisabspath(path::AbstractString) -> BoolBir yolun mutlak olup olmadığını belirleyin (kök dizininden başlar).
Örnekler
julia> isabspath("/home")
true
julia> isabspath("home")
falseBase.Filesystem.isdirpath — Functionisdirpath(path::AbstractString) -> BoolBir yolun bir dizini ifade edip etmediğini belirleyin (örneğin, bir yol ayırıcı ile bitiyorsa).
Örnekler
julia> isdirpath("/home")
false
julia> isdirpath("/home/")
trueBase.Filesystem.joinpath — Functionjoinpath(parts::AbstractString...) -> String
joinpath(parts::Vector{AbstractString}) -> String
joinpath(parts::Tuple{AbstractString}) -> StringYol bileşenlerini tam bir yola birleştirir. Eğer bazı argümanlar mutlak bir yol ise veya (Windows'ta) önceki yolların birleştirilmesi için hesaplanan sürücü ile eşleşmeyen bir sürücü belirtimi varsa, o zaman önceki bileşenler atılır.
Windows'ta her sürücü için bir geçerli dizin bulunduğundan, joinpath("c:", "foo") "c:" sürücüsündeki geçerli dizine göre bir yol temsil eder, bu nedenle bu "c:foo" ile eşdeğerdir, "c:\foo" ile değil. Dahası, joinpath bunu mutlak bir yol olarak kabul etmez ve sürücü harfi büyük/küçük harf duyarlılığını göz ardı eder, bu nedenle joinpath("C:\A","c:b") = "C:\A\b".
Örnekler
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) -> StringBir yolu, gerekli ise mevcut dizini ekleyerek mutlak bir yola dönüştürür. Ayrıca, yolu normpath gibi normalize eder.
Örnekler
Eğer JuliaExample adında bir dizindeyseniz ve kullandığınız veri JuliaExample dizinine göre iki seviye yukarıda ise, şunu yazabilirsiniz:
abspath("../../data")Bu, "/home/JuliaUser/data/" gibi bir yol verir.
Ayrıca joinpath, pwd, expanduser bakınız.
abspath(path::AbstractString, paths::AbstractString...) -> StringBir dizi yolu, bunları birleştirerek ve gerekirse mevcut dizini ekleyerek mutlak bir yola dönüştürür. abspath(joinpath(path, paths...)) ile eşdeğerdir.
Base.Filesystem.normpath — Functionnormpath(path::AbstractString) -> StringBir yolu normalize eder, "." ve ".." girişlerini kaldırır ve "/" karakterini sistem için kanonik yol ayırıcıya değiştirir.
Örnekler
julia> normpath("/home/myuser/../example.jl")
"/home/example.jl"
julia> normpath("Documents/Julia") == joinpath("Documents", "Julia")
truenormpath(path::AbstractString, paths::AbstractString...) -> StringBir dizi yolu birleştirerek ve "." ve ".." girişlerini kaldırarak normalleştirilmiş bir yola dönüştürür. normpath(joinpath(path, paths...)) ile eşdeğerdir.
Base.Filesystem.realpath — Functionrealpath(path::AbstractString) -> StringBir yolu sembolik bağlantıları genişleterek ve "." ve ".." girişlerini kaldırarak standart hale getirir. Büyük/küçük harf duyarsız ve büyük/küçük harf koruyan dosya sistemlerinde (tipik olarak Mac ve Windows), yolun dosya sisteminde saklanan büyük/küçük harf durumu döndürülür.
(Bu işlev, path dosya sisteminde mevcut değilse bir istisna fırlatır.)
Base.Filesystem.relpath — Functionrelpath(path::AbstractString, startpath::AbstractString = ".") -> Stringpath için mevcut dizinden veya isteğe bağlı bir başlangıç dizininden bir göreli dosya yolu döndürür. Bu bir yol hesaplamasıdır: path veya startpath'in varlığını veya doğasını doğrulamak için dosya sistemine erişilmez.
Windows'ta, yolun her parçasına, sürücü harfleri hariç, büyük/küçük harf duyarlılığı uygulanır. Eğer path ve startpath farklı sürücüleri işaret ediyorsa, path'in mutlak yolu döndürülür.
Base.Filesystem.expanduser — Functionexpanduser(path::AbstractString) -> AbstractStringUnix sistemlerinde, bir yolun başındaki tilde karakterini mevcut kullanıcının ana dizini ile değiştirir.
Ayrıca bkz: contractuser.
Base.Filesystem.contractuser — Functioncontractuser(path::AbstractString) -> AbstractStringUnix sistemlerinde, eğer yol homedir() ile başlıyorsa, bunu bir tilde karakteri ile değiştirin.
Ayrıca bakınız: expanduser.
Base.Filesystem.samefile — Functionsamefile(path_a::AbstractString, path_b::AbstractString)path_a ve path_b yollarının aynı mevcut dosya veya dizine işaret edip etmediğini kontrol eder.
Base.Filesystem.splitdir — Functionsplitdir(path::AbstractString) -> (AbstractString, AbstractString)Bir yolu dizin adı ve dosya adı içeren bir demet haline ayırır.
Örnekler
julia> splitdir("/home/myuser")
("/home", "myuser")Base.Filesystem.splitdrive — Functionsplitdrive(path::AbstractString) -> (AbstractString, AbstractString)Windows'ta bir yolu sürücü harfi kısmı ve yol kısmına ayırır. Unix sistemlerinde, ilk bileşen her zaman boş bir dizedir.
Base.Filesystem.splitext — Functionsplitext(path::AbstractString) -> (String, String)Eğer bir yolun son bileşeni bir veya daha fazla nokta içeriyorsa, yolu son noktadan önceki her şey ve nokta dahil ve sonrasındaki her şey olarak ayırın. Aksi takdirde, argümanı değiştirilmemiş olarak ve boş bir dize ile bir demet döndürün. "splitext" uzantıyı ayırmak için kısaltmadır.
Örnekler
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}Bir dosya yolunu tüm yol bileşenlerine ayırır. Bu, joinpath'in tersidir. Yolda bulunan her dizin veya dosya için bir alt dize içeren bir dizi döner, kök dizin mevcutsa onu da içerir.
Bu fonksiyon en az Julia 1.1 gerektirir.
Örnekler
julia> splitpath("/home/myuser/example.jl")
4-element Vector{String}:
"/"
"home"
"myuser"
"example.jl"