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 غير صحيح، فإن readdir يعيد فقط الأسماء في الدليل كما هي؛ عندما يكون join صحيحًا، فإنه يعيد joinpath(dir, name) لكل name بحيث تكون السلاسل المعادة مسارات كاملة. إذا كنت تريد الحصول على مسارات مطلقة، استدعِ readdir مع مسار دليل مطلق وjoin مضبوطًا على صحيح.
بشكل افتراضي، يقوم readdir بفرز قائمة الأسماء التي يعيدها. إذا كنت تريد تخطي فرز الأسماء والحصول عليها بالترتيب الذي تسردها به نظام الملفات، يمكنك استخدام readdir(dir, sort=false) للاختيار بعدم الفرز.
انظر أيضًا: walkdir.
تتطلب وسائط الكلمات الرئيسية join و sort على الأقل Julia 1.4.
أمثلة
julia> cd("/home/JuliaUser/dev/julia")
julia> readdir()
30-element Array{String,1}:
".appveyor.yml"
".git"
".gitattributes"
⋮
"ui"
"usr"
"usr-staging"
julia> readdir(join=true)
30-element Array{String,1}:
"/home/JuliaUser/dev/julia/.appveyor.yml"
"/home/JuliaUser/dev/julia/.git"
"/home/JuliaUser/dev/julia/.gitattributes"
⋮
"/home/JuliaUser/dev/julia/ui"
"/home/JuliaUser/dev/julia/usr"
"/home/JuliaUser/dev/julia/usr-staging"
julia> readdir("base")
145-element Array{String,1}:
".gitignore"
"Base.jl"
"Enums.jl"
⋮
"version_git.sh"
"views.jl"
"weakkeydict.jl"
julia> readdir("base", join=true)
145-element Array{String,1}:
"base/.gitignore"
"base/Base.jl"
"base/Enums.jl"
⋮
"base/version_git.sh"
"base/views.jl"
"base/weakkeydict.jl"
julia> readdir(abspath("base"), join=true)
145-element Array{String,1}:
"/home/JuliaUser/dev/julia/base/.gitignore"
"/home/JuliaUser/dev/julia/base/Base.jl"
"/home/JuliaUser/dev/julia/base/Enums.jl"
⋮
"/home/JuliaUser/dev/julia/base/version_git.sh"
"/home/JuliaUser/dev/julia/base/views.jl"
"/home/JuliaUser/dev/julia/base/weakkeydict.jl"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)) # path to directories
end
println("Files in $root")
for file in files
println(joinpath(root, file)) # path to files
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، المعدلة بواسطة قناع إنشاء الملفات الحالي. هذه الدالة لا تنشئ أكثر من دليل واحد. إذا كان الدليل موجودًا بالفعل، أو إذا كانت بعض الأدلة الوسيطة غير موجودة، فإن هذه الدالة ترمي خطأ. انظر mkpath لدالة تقوم بإنشاء جميع الأدلة الوسيطة المطلوبة. أعد path.
أمثلة
julia> mkdir("testingdir")
"testingdir"
julia> cd("testingdir")
julia> pwd()
"/home/JuliaUser/testingdir"Base.Filesystem.mkpath — Functionmkpath(path::AbstractString; mode::Unsigned = 0o777)قم بإنشاء جميع الدلائل الوسيطة في path حسب الحاجة. يتم إنشاء الدلائل بالأذونات mode التي تكون افتراضيًا 0o777 ويتم تعديلها بواسطة قناع إنشاء الملفات الحالي. على عكس mkdir، لا يحدث خطأ إذا كان path (أو أجزاء منه) موجودًا بالفعل. ومع ذلك، سيتم طرح خطأ إذا كان path (أو أجزاء منه) يشير إلى ملف موجود. أعد path.
إذا كان path يتضمن اسم ملف، فمن المحتمل أنك ستحتاج إلى استخدام mkpath(dirname(path)) لتجنب إنشاء دليل باستخدام اسم الملف.
أمثلة
julia> cd(mktempdir())
julia> mkpath("my/test/dir") # ينشئ ثلاثة دلائل
"my/test/dir"
julia> readdir()
1-element Array{String,1}:
"my"
julia> cd("my")
julia> readdir()
1-element Array{String,1}:
"test"
julia> readdir("test")
1-element Array{String,1}:
"dir"
julia> mkpath("intermediate_dir/actually_a_directory.txt") # ينشئ دليلين
"intermediate_dir/actually_a_directory.txt"
julia> isdir("intermediate_dir/actually_a_directory.txt")
true
Base.Filesystem.hardlink — Functionhardlink(src::AbstractString, dst::AbstractString)ينشئ رابطًا صلبًا لملف المصدر الموجود src بالاسم dst. يجب ألا يوجد الوجهة، dst.
انظر أيضًا: symlink.
تمت إضافة هذه الطريقة في Julia 1.8.
Base.Filesystem.symlink — Functionsymlink(target::AbstractString, link::AbstractString; dir_target = false)ينشئ رابطًا رمزيًا إلى target بالاسم link.
على نظام Windows، يجب أن يتم التصريح عن الروابط الرمزية بشكل صريح على أنها تشير إلى دليل أو لا. إذا كان target موجودًا بالفعل، فبشكل افتراضي سيتم اكتشاف نوع link تلقائيًا، ومع ذلك إذا لم يكن target موجودًا، فإن هذه الوظيفة بشكل افتراضي تنشئ رابط ملف ما لم يتم تعيين dir_target إلى true. لاحظ أنه إذا قام المستخدم بتعيين dir_target ولكن target موجود وهو ملف، فسيتم إنشاء رابط دليل، ولكن سيتم فشل فك ارتباط الرابط الرمزي، تمامًا كما لو أن المستخدم أنشأ رابط ملف (عن طريق استدعاء symlink() مع تعيين dir_target إلى false قبل إنشاء الدليل) وحاول فك ارتباطه إلى دليل.
بالإضافة إلى ذلك، هناك طريقتان لإنشاء رابط على Windows؛ الروابط الرمزية ونقاط التقاطع. نقاط التقاطع أكثر كفاءة قليلاً، لكنها لا تدعم المسارات النسبية، لذا إذا تم طلب رابط دليل نسبي (كما هو موضح من خلال إرجاع isabspath(target) إلى false) سيتم استخدام رابط رمزي، وإلا سيتم استخدام نقطة تقاطع. أفضل ممارسة لإنشاء الروابط الرمزية على Windows هي إنشاؤها فقط بعد أن يتم إنشاء الملفات/الدلائل التي تشير إليها بالفعل.
انظر أيضًا: hardlink.
هذه الوظيفة تثير خطأً تحت أنظمة التشغيل التي لا تدعم الروابط الرمزية الناعمة، مثل Windows XP.
تم إضافة وسيط الكلمة الرئيسية dir_target في Julia 1.6. قبل ذلك، كانت الروابط الرمزية إلى المسارات غير الموجودة على Windows دائمًا روابط ملفات، ولم تكن الروابط النسبية إلى الدلائل مدعومة.
Base.Filesystem.readlink — Functionreadlink(path::AbstractString) -> Stringإرجاع موقع الهدف الذي يشير إليه الرابط الرمزي path.
Base.Filesystem.chmod — Functionchmod(path::AbstractString, mode::Integer; recursive::Bool=false)قم بتغيير وضع الأذونات لـ path إلى mode. حاليًا، يتم دعم أوضاع الأعداد الصحيحة فقط (مثل 0o777). إذا كان recursive=true وكان المسار دليلاً، فسيتم تغيير جميع الأذونات في ذلك الدليل بشكل متكرر. أعد path.
!!! ملاحظة قبل إصدار Julia 1.6، لم يكن هذا يقوم بالتلاعب بشكل صحيح في ACLs نظام الملفات على Windows، لذلك كان يقوم فقط بتعيين بتات القراءة فقط على الملفات. الآن يمكنه التلاعب بـ ACLs.
Base.Filesystem.chown — Functionchown(path::AbstractString, owner::Integer, group::Integer=-1)قم بتغيير مالك و/أو مجموعة path إلى owner و/أو group. إذا كانت القيمة المدخلة لـ owner أو group هي -1 فلن يتغير المعرف المقابل. حاليًا، يتم دعم المالكين والمجموعات من نوع صحيح فقط. أعد path.
Base.Libc.RawFD — TypeRawFDنوع بدائي يلتف حول موصِف ملف نظام التشغيل الأصلي. يمكن تمرير RawFDs إلى طرق مثل stat لاكتشاف معلومات حول الملف الأساسي، ويمكن أيضًا استخدامها لفتح تدفقات، مع وصف RawFD لملف نظام التشغيل الذي يدعم التدفق.
Base.stat — Functionstat(file)إرجاع هيكل يحتوي على معلومات حول الملف. حقول الهيكل هي:
| الاسم | النوع | الوصف |
|---|---|---|
| desc | Union{String, Base.OS_HANDLE} | المسار أو موصل ملف نظام التشغيل |
| size | Int64 | الحجم (بالبايت) للملف |
| device | UInt | معرف الجهاز الذي يحتوي على الملف |
| inode | UInt | رقم inode للملف |
| mode | UInt | وضع الحماية للملف |
| nlink | Int | عدد الروابط الصلبة إلى الملف |
| uid | UInt | معرف المستخدم لمالك الملف |
| gid | UInt | معرف المجموعة لمالك الملف |
| rdev | UInt | إذا كان هذا الملف يشير إلى جهاز، معرف الجهاز الذي يشير إليه |
| blksize | Int64 | الحجم المفضل لكتلة نظام الملفات للملف |
| blocks | Int64 | عدد الكتل المخصصة بحجم 512 بايت |
| mtime | Float64 | الطابع الزمني لنظام Unix عندما تم تعديل الملف آخر مرة |
| ctime | Float64 | الطابع الزمني لنظام Unix عندما تم تغيير بيانات الملف |
Base.Filesystem.diskstat — Functiondiskstat(path=pwd())يعيد إحصائيات بالبايت عن القرص الذي يحتوي على الملف أو الدليل المشار إليه بواسطة path. إذا لم يتم تمرير أي وسيط، يتم إرجاع إحصائيات عن القرص الذي يحتوي على الدليل الحالي.
تم إضافة هذه الطريقة في Julia 1.8.
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 — Functionuperm(file)احصل على أذونات مالك الملف كحقل بت
| القيمة | الوصف |
|---|---|
| 01 | إذن التنفيذ |
| 02 | إذن الكتابة |
| 04 | إذن القراءة |
للاطلاع على الحجج المسموح بها، انظر stat.
Base.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.
وظيفة cp تختلف عن أمر cp. وظيفة cp تعمل دائمًا على افتراض أن dst هو ملف، بينما الأمر يقوم بأشياء مختلفة اعتمادًا على ما إذا كان dst دليلًا أو ملفًا. استخدام force=true عندما يكون dst دليلًا سيؤدي إلى فقدان جميع المحتويات الموجودة في دليل dst، وسيصبح dst ملفًا يحتوي على محتويات src بدلاً من ذلك.
Base.download — Functiondownload(url::AbstractString, [path::AbstractString = tempname()]) -> pathقم بتنزيل ملف من عنوان url المعطى، وحفظه في الموقع path، أو إذا لم يتم تحديده، في مسار مؤقت. يُرجع مسار الملف الذي تم تنزيله.
!!! ملاحظة منذ إصدار Julia 1.6، تم إهمال هذه الوظيفة وهي مجرد غلاف رقيق حول Downloads.download. في الشيفرات الجديدة، يجب عليك استخدام تلك الوظيفة مباشرة بدلاً من استدعاء هذه.
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 على القفل، للإشارة إلى أنه لا يزال جديدًا.
انظر أيضًا إلى الكلمة الرئيسية refresh في منشئ mkpidlock.
touch(path::AbstractString)
touch(fd::File)قم بتحديث طابع الوقت لآخر تعديل على ملف إلى الوقت الحالي.
إذا لم يكن الملف موجودًا، يتم إنشاء ملف جديد.
أعد path.
أمثلة
julia> write("my_little_file", 2);
julia> mtime("my_little_file")
1.5273815391135583e9
julia> touch("my_little_file");
julia> mtime("my_little_file")
1.527381559163435e9يمكننا أن نرى أن mtime قد تم تعديله بواسطة touch.
Base.Filesystem.tempname — Functiontempname(parent=tempdir(); cleanup=true) -> Stringتوليد مسار ملف مؤقت. هذه الدالة تعيد فقط مسارًا؛ لا يتم إنشاء أي ملف. من المحتمل أن يكون المسار فريدًا، ولكن لا يمكن ضمان ذلك بسبب الاحتمالية البعيدة جدًا لاستدعاء tempname مرتين في وقت واحد مما يؤدي إلى توليد نفس اسم الملف. الاسم مضمون أن يختلف عن جميع الملفات الموجودة بالفعل في وقت استدعاء tempname.
عند استدعائها بدون أي معطيات، سيكون الاسم المؤقت مسارًا مطلقًا إلى اسم مؤقت في دليل النظام المؤقت كما هو محدد بواسطة tempdir(). إذا تم إعطاء معطى parent، سيكون المسار المؤقت في ذلك الدليل بدلاً من ذلك.
خيار cleanup يتحكم فيما إذا كانت العملية تحاول حذف المسار المعاد تلقائيًا عند انتهاء العملية. لاحظ أن دالة tempname لا تنشئ أي ملف أو دليل في الموقع المعاد، لذا لا يوجد شيء لتنظيفه ما لم تقم بإنشاء ملف أو دليل هناك. إذا قمت بذلك وكان cleanup هو true، فسيتم حذفه عند إنهاء العملية.
تمت إضافة معطيات parent و cleanup في 1.4. قبل Julia 1.4، لم يكن المسار الذي تعيده tempname سيتم تنظيفه عند إنهاء العملية.
يمكن أن يؤدي ذلك إلى ثغرات أمنية إذا حصلت عملية أخرى على نفس اسم الملف وأنشأت الملف قبل أن تتمكن من ذلك. افتح الملف باستخدام JL_O_EXCL إذا كانت هذه مسألة تثير قلقك. يُوصى أيضًا باستخدام mktemp() بدلاً من ذلك.
Base.Filesystem.tempdir — Functiontempdir()يحصل على مسار الدليل المؤقت. على نظام ويندوز، يستخدم 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 في ما إذا كان سيتم حذف الملف المؤقت تلقائيًا عند خروج العملية.
تم إضافة وسيط الكلمة الرئيسية cleanup في Julia 1.3. وبالمثل، بدءًا من 1.3، ستقوم Julia بإزالة المسارات المؤقتة التي تم إنشاؤها بواسطة mktemp عند خروج عملية Julia، ما لم يتم تعيين cleanup صراحةً إلى false.
Base.Filesystem.mktemp — Methodmktemp(f::Function, parent=tempdir())قم بتطبيق الدالة f على نتيجة mktemp(parent) واحذف الملف المؤقت عند الانتهاء.
انظر أيضًا: mktempdir.
Base.Filesystem.mktempdir — Methodmktempdir(parent=tempdir(); prefix="jl_", cleanup=true) -> pathقم بإنشاء دليل مؤقت في دليل parent مع اسم مُركب من prefix المعطى ولاحقة عشوائية، وأعد مساره. بالإضافة إلى ذلك، في بعض الأنظمة، قد يتم استبدال أي أحرف 'X' متبقية في prefix بأحرف عشوائية. إذا كان parent غير موجود، قم بإلقاء خطأ. يتحكم خيار cleanup في ما إذا كان سيتم حذف الدليل المؤقت تلقائيًا عند خروج العملية.
تم إضافة وسيط prefix في Julia 1.2.
تم إضافة وسيط cleanup في Julia 1.3. ذات صلة، بدءًا من 1.3، ستقوم Julia بإزالة المسارات المؤقتة التي تم إنشاؤها بواسطة mktempdir عند خروج عملية Julia، ما لم يتم تعيين cleanup صراحةً إلى false.
Base.Filesystem.mktempdir — Methodmktempdir(f::Function, parent=tempdir(); prefix="jl_")قم بتطبيق الدالة f على نتيجة mktempdir(parent; prefix) واحذف الدليل المؤقت وجميع محتوياته عند الانتهاء.
تم إضافة وسيط الكلمة الرئيسية prefix في Julia 1.2.
Base.Filesystem.isblockdev — Functionisblockdev(path) -> Boolارجع true إذا كان path جهاز كتلة، و false خلاف ذلك.
Base.Filesystem.ischardev — Functionischardev(path) -> Boolارجع true إذا كان path جهاز حرفي، وfalse خلاف ذلك.
Base.Filesystem.isdir — Functionisdir(path) -> Boolارجع true إذا كان path دليلاً، و false خلاف ذلك.
أمثلة
julia> isdir(homedir())
true
julia> isdir("not/a/directory")
falseBase.Filesystem.isfifo — Functionisfifo(path) -> Boolارجع true إذا كان path هو FIFO، و false خلاف ذلك.
Base.Filesystem.isfile — Functionisfile(path) -> Boolارجع true إذا كان path ملفًا عاديًا، و 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) -> Boolارجع true إذا كان path رابطًا رمزيًا، و false خلاف ذلك.
Base.Filesystem.ismount — Functionismount(path) -> Boolارجع true إذا كان path نقطة تحميل، و false خلاف ذلك.
Base.Filesystem.ispath — Functionispath(path) -> Boolارجع true إذا كانت هناك كيان نظام ملفات صالح موجود في path، وإلا ارجع false. هذه هي التعميم لـ isfile، isdir إلخ.
Base.Filesystem.issetgid — Functionissetgid(path) -> Boolارجع true إذا كان path يحتوي على علامة setgid مضبوطة، و false خلاف ذلك.
Base.Filesystem.issetuid — Functionissetuid(path) -> Boolارجع true إذا كان path يحتوي على علامة setuid مضبوطة، و false خلاف ذلك.
Base.Filesystem.issocket — Functionissocket(path) -> Boolارجع true إذا كان path هو مقبس، و false خلاف ذلك.
Base.Filesystem.issticky — Functionissticky(path) -> Boolارجع true إذا كان path يحتوي على بت لاصق مضبوط، و false خلاف ذلك.
Base.Filesystem.homedir — Functionhomedir() -> Stringإرجاع دليل المنزل الحالي للمستخدم.
!!! ملاحظة homedir يحدد دليل المنزل عبر libuv's 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، بينما 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قم بدمج مكونات المسار في مسار كامل. إذا كان بعض المعاملات هو مسار مطلق أو (على نظام ويندوز) يحتوي على مواصفات محرك لا تتطابق مع المحرك المحسوب لدمج المسارات السابقة، فسيتم إسقاط المكونات السابقة.
ملاحظة على نظام ويندوز، نظرًا لوجود دليل حالي لكل محرك، فإن 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، يمكنك كتابة:
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قم بتوحيد مسار عن طريق توسيع الروابط الرمزية وإزالة إدخالات "." و "..". في أنظمة الملفات التي لا تأخذ في الاعتبار حالة الأحرف ولكن تحتفظ بها (عادةً ما تكون على ماك وويندوز)، يتم إرجاع الحالة المخزنة في نظام الملفات للمسار.
(ترمي هذه الدالة استثناءً إذا لم يكن path موجودًا في نظام الملفات.)
Base.Filesystem.relpath — Functionrelpath(path::AbstractString, startpath::AbstractString = ".") -> Stringإرجاع مسار ملف نسبي إلى path إما من الدليل الحالي أو من دليل بدء اختياري. هذه عملية حساب مسار: لا يتم الوصول إلى نظام الملفات لتأكيد وجود أو طبيعة path أو startpath.
في نظام ويندوز، يتم تطبيق حساسية الحالة على كل جزء من المسار باستثناء أحرف محركات الأقراص. إذا كانت path و startpath تشير إلى محركات أقراص مختلفة، يتم إرجاع المسار المطلق لـ path.
Base.Filesystem.expanduser — Functionexpanduser(path::AbstractString) -> AbstractStringفي أنظمة Unix، استبدل حرف التلدة في بداية المسار بدليل المستخدم الحالي.
انظر أيضًا: contractuser.
Base.Filesystem.contractuser — Functioncontractuser(path::AbstractString) -> AbstractStringفي أنظمة Unix، إذا كان المسار يبدأ بـ 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)على نظام ويندوز، يتم تقسيم المسار إلى جزء حرف محرك الأقراص وجزء المسار. على أنظمة يونكس، يكون المكون الأول دائمًا سلسلة فارغة.
Base.Filesystem.splitext — Functionsplitext(path::AbstractString) -> (String, String)إذا كان المكون الأخير من المسار يحتوي على نقطة أو أكثر، قم بتقسيم المسار إلى كل شيء قبل النقطة الأخيرة وكل شيء بما في ذلك وبعد النقطة. خلاف ذلك، أعد زوجًا من الوسيطة غير المعدلة والسلسلة الفارغة. "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. يُرجع مصفوفة من السلاسل الفرعية، واحدة لكل دليل أو ملف في المسار، بما في ذلك الدليل الجذر إذا كان موجودًا.
تتطلب هذه الوظيفة على الأقل Julia 1.1.
أمثلة
julia> splitpath("/home/myuser/example.jl")
4-element Vector{String}:
"/"
"home"
"myuser"
"example.jl"