Filesystem

Base.readMethod
read(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.

source
Base.writeMethod
write(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.

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

Geçerli çalışma dizinini alır.

Ayrıca bakınız: cd, tempdir.

Örnekler

julia> pwd()
"/home/JuliaUser"

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

julia> pwd()
"/home/JuliaUser/Projects/julia"
source
Base.Filesystem.cdMethod
cd(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"
source
Base.Filesystem.cdMethod
cd(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"
source
Base.Filesystem.readdirFunction
readdir(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.

Julia 1.4

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"
source
Base.Filesystem.walkdirFunction
walkdir(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
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)

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"
source
Base.Filesystem.mkpathFunction
mkpath(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
source
Base.Filesystem.hardlinkFunction
hardlink(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.

Julia 1.8

Bu yöntem Julia 1.8'de eklendi.

source
Base.Filesystem.symlinkFunction
symlink(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.

Not

Bu işlev, Windows XP gibi yumuşak sembolik bağlantıları desteklemeyen işletim sistemlerinde bir hata oluşturur.

Julia 1.6

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.

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

Bir sembolik bağlantının path işaret ettiği hedef konumu döndürür.

source
Base.Filesystem.chmodFunction
chmod(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.

Not

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.

source
Base.Filesystem.chownFunction
chown(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.

source
Base.Libc.RawFDType
RawFD

Yerel 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.

source
Base.statFunction
stat(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:

İsimTürAçıklama
descUnion{String, Base.OS_HANDLE}Yol veya OS dosya tanımlayıcısı
sizeInt64Dosyanın boyutu (bayt cinsinden)
deviceUIntDosyayı içeren cihazın kimliği
inodeUIntDosyanın inode numarası
modeUIntDosyanın koruma modu
nlinkIntDosyaya bağlı sert bağlantı sayısı
uidUIntDosya sahibinin kullanıcı kimliği
gidUIntDosya sahibinin grup kimliği
rdevUIntBu dosya bir cihaza atıfta bulunuyorsa, atıfta bulunduğu cihazın kimliği
blksizeInt64Dosya için dosya sistemi tercih edilen blok boyutu
blocksInt64Ayrılan 512 baytlık blok sayısı
mtimeFloat64Dosyanın en son ne zaman değiştirildiğinin Unix zaman damgası
ctimeFloat64Dosyanın meta verilerinin ne zaman değiştirildiğinin Unix zaman damgası
source
Base.Filesystem.diskstatFunction
diskstat(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.

Julia 1.8

Bu yöntem Julia 1.8'de eklendi.

source
Base.Filesystem.lstatFunction
lstat(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.

source
Base.Filesystem.upermFunction
uperm(dosya)

Dosyanın sahibinin izinlerini bit alanı olarak alır

DeğerAçıklama
01Çalıştırma İzni
02Yazma İzni
04Okuma İzni

İzin verilen argümanlar için stat kısmına bakın.

source
Base.Filesystem.opermFunction
operm(file)

uperm gibi, ancak dosyanın sahibi olmayan veya dosyanın sahibi olan grubun üyesi olmayan kişiler için izinleri alır.

source
Base.Filesystem.cpFunction
cp(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.

Note

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.

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

Verilen url'den bir dosya indirir, dosyayı path konumuna kaydeder veya belirtilmemişse geçici bir konuma kaydeder. İndirilen dosyanın yolunu döner.

Note

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.

source
Base.Filesystem.mvFunction
mv(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");
source
Base.Filesystem.rmFunction
rm(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:
[...]
source
Base.Filesystem.touchFunction
Base.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.

source
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.527381559163435e9

mtime fonksiyonunun touch ile değiştirildiğini görebiliriz.

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

Geç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.

Julia 1.4

parent ve cleanup argümanları 1.4'te eklendi. Julia 1.4'ten önce tempname'in yolu işlem sona erdiğinde asla temizlenmeyecekti.

Warning

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.

source
Base.Filesystem.tempdirFunction
tempdir()

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.

source
Base.Filesystem.mktempMethod
mktemp(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.

Julia 1.3

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.

source
Base.Filesystem.mktempMethod
mktemp(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.

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

parent 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.

Julia 1.2

prefix anahtar argümanı Julia 1.2'de eklendi.

Julia 1.3

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.

Ayrıca bakınız: mktemp, mkdir.

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

path bir dizin ise true, aksi takdirde false döner.

Örnekler

julia> isdir(homedir())
true

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

Ayrıca isfile ve ispath bakınız.

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

path 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)
false

Ayrıca isdir ve ispath bakınız.

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

Geçerli bir dosya sistemi varlığı path'te mevcutsa true döner, aksi takdirde false döner. Bu, isfile, isdir vb. için bir genellemedir.

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

Mevcut kullanıcının ana dizinini döndürür.

Not

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.

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

Bir 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.

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

Bir yolun dosya adı kısmını alır.

Note

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.

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

Bir yolun mutlak olup olmadığını belirleyin (kök dizininden başlar).

Örnekler

julia> isabspath("/home")
true

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

Bir 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/")
true
source
Base.Filesystem.joinpathFunction
joinpath(parts::AbstractString...) -> String
joinpath(parts::Vector{AbstractString}) -> String
joinpath(parts::Tuple{AbstractString}) -> String

Yol 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"
source
Base.Filesystem.abspathFunction
abspath(path::AbstractString) -> String

Bir 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.

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

Bir 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.

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

Bir 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")
true
source
normpath(path::AbstractString, paths::AbstractString...) -> String

Bir 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.

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

Bir 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.)

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

path 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.

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

Unix sistemlerinde, bir yolun başındaki tilde karakterini mevcut kullanıcının ana dizini ile değiştirir.

Ayrıca bkz: contractuser.

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

Unix sistemlerinde, eğer yol homedir() ile başlıyorsa, bunu bir tilde karakteri ile değiştirin.

Ayrıca bakınız: expanduser.

source
Base.Filesystem.samefileFunction
samefile(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.

source
Base.Filesystem.splitdirFunction
splitdir(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")
source
Base.Filesystem.splitdriveFunction
splitdrive(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.

source
Base.Filesystem.splitextFunction
splitext(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", "")
source
Base.Filesystem.splitpathFunction
splitpath(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.

Julia 1.1

Bu fonksiyon en az Julia 1.1 gerektirir.

Örnekler

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