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() -> String
Geç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
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
— 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) -> String
Bir 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
— TypeRawFD
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.
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()]) -> 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.
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.527381559163435e9
mtime
fonksiyonunun touch
ile değiştirildiğini görebiliriz.
Base.Filesystem.tempname
— Functiontempname(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.
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) -> 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.
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) -> Bool
path
bir blok cihazıysa true
, aksi takdirde false
döner.
Base.Filesystem.ischardev
— Functionischardev(path) -> Bool
path
bir karakter cihazı ise true
, aksi takdirde false
döner.
Base.Filesystem.isdir
— Functionisdir(path) -> Bool
path
bir dizin ise true
, aksi takdirde false
döner.
Örnekler
julia> isdir(homedir())
true
julia> isdir("not/a/directory")
false
Base.Filesystem.isfifo
— Functionisfifo(path) -> Bool
path
bir FIFO ise true
, aksi takdirde false
döner.
Base.Filesystem.isfile
— Functionisfile(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
Base.Filesystem.islink
— Functionislink(path) -> Bool
path
bir sembolik bağlantıysa true
, aksi takdirde false
döner.
Base.Filesystem.ismount
— Functionismount(path) -> Bool
path
bir montaj noktasıysa true
, aksi takdirde false
döner.
Base.Filesystem.ispath
— Functionispath(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.
Base.Filesystem.issetgid
— Functionissetgid(path) -> Bool
path
setgid bayrağı ayarlanmışsa true
, aksi takdirde false
döner.
Base.Filesystem.issetuid
— Functionissetuid(path) -> Bool
path
setuid bayrağı ayarlanmışsa true
, aksi takdirde false
döndür.
Base.Filesystem.issocket
— Functionissocket(path) -> Bool
path
bir soket ise true
, aksi takdirde false
döner.
Base.Filesystem.issticky
— Functionissticky(path) -> Bool
path
üzerinde sticky bit ayarlıysa true
, aksi takdirde false
döner.
Base.Filesystem.homedir
— Functionhomedir() -> String
Mevcut 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) -> 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.
Base.Filesystem.basename
— Functionbasename(path::AbstractString) -> String
Bir 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) -> Bool
Bir yolun mutlak olup olmadığını belirleyin (kök dizininden başlar).
Örnekler
julia> isabspath("/home")
true
julia> isabspath("home")
false
Base.Filesystem.isdirpath
— Functionisdirpath(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
Base.Filesystem.joinpath
— Functionjoinpath(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"
Base.Filesystem.abspath
— Functionabspath(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.
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.
Base.Filesystem.normpath
— Functionnormpath(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
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.
Base.Filesystem.realpath
— Functionrealpath(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.)
Base.Filesystem.relpath
— Functionrelpath(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.
Base.Filesystem.expanduser
— Functionexpanduser(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
.
Base.Filesystem.contractuser
— Functioncontractuser(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
.
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"