كيفية التعامل مع الملفات والدلائل في Go

كيفية التعامل مع الملفات والدلائل في Go
القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

يعد العمل مع الملفات والأدلة مهمة أساسية للتطبيقات التي تحتاج إلى تخزين البيانات واستردادها. يوفر Go حزمة مسار الملف لعمليات مسار الملف المستقل عن النظام الأساسي. تتضمن الحزمة وظائف لمعالجة مسارات الملفات وهي متوافقة مع أنظمة التشغيل Windows و Linux و macOS.





يمكن للوظائف التي يتضمنها filepath ضم مسارات الملفات وتقسيمها وتنظيفها للتأكد من أنها صالحة. تحتوي الحزمة أيضًا على وظائف لأدلة المشي والبحث عن الملفات.





اجعل فيديو اليوم

المشي دليل الأشجار

ال يمشي وظيفة مسار الملف توفر الحزمة وظائف للمشي في شجرة الدليل والانتقال عبر الملفات والأدلة بطريقة الطلب المسبق. سيقوم بشكل متكرر بزيارة كافة الدلائل الموجودة أسفل الجذر المحدد. تأخذ وظيفة Walk في الدليل الجذر والدالة التي تأخذ المسار ومثيل معلومات الملف ومثيل الخطأ.





 package main 

import (
    "fmt"
    "path/filepath"
    "os"
)

func main() {
    // Defines the root directory to start the walk
    root := "."

    // Uses the Walk function to walk the directory tree
    err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
        if err != nil {
            return err
        }

        // Prints the name of each file or directory
        fmt.Println(path)
        return nil
    })

    // Checks for errors
    if err != nil {
        fmt.Printf("Error walking directory tree: %v\n", err)
    }
}

يعرّف هذا البرنامج الدليل الجذر كدليل العمل الحالي. ال رئيسي تعبر الدالة من خلال الدلائل في الدليل الجذر وتطبع أسماء الملفات.

  نتيجة من أشجار دليل المشي

مطابقة الملفات مع مطابقة الأنماط

يمكنك استخدام ال مباراة وظيفة لمطابقة أسماء الملفات مع نمط. يعتمد بناء جملة النمط على العام صيغة ملف البدل ، والتي تستخدم الحروف الأولية ، والمعروفة باسم أنماط الكرة الأرضية في بيئات Unix.



 package main 

import (
    "fmt"
    "path/filepath"
)

func main() {
    // Defines the pattern to match
    pattern := "*.txt"

    // Uses the Match function to match the pattern on files
    match, err := filepath.Match(pattern, "file.txt")

    if err != nil {
        fmt.Printf("Error matching pattern: %v\n", err)
        return
    }

    // Prints the result of the match
    if match {
        fmt.Println("File matches pattern.")
    } else {
        fmt.Println("File does not match pattern.")
    }
}

ال رئيسي تتطابق الوظيفة مع اسم ملف مقابل الامتداد *.رسالة قصيرة نمط وطباعة سلسلة حسب نتيجة البيان الشرطي .

كيفية إضافة نص على tiktok

تنظيف المسارات بوظيفة التنظيف

ال ينظف تأخذ الوظيفة مسار ملف وتعيد إصدارًا نظيفًا من المسار عن طريق إزالة الفواصل غير الضرورية وتغييرات الدليل ، مثل . (الدليل الحالي) و .. (الدليل الأصلي).





يعد تنظيف مسارات الملفات مفيدًا لأنه يساعد في تجنب الأخطاء إذا كان المسار يحتوي على فواصل متكررة أو مقاطع غير صالحة ، أو يبني مسارات مستقلة عن دليل العمل الحالي.

 package main 

import (
    "fmt"
    "path/filepath"
)

func main() {
    // Creates a path with redundant separators and invalid segments
    path := "/foo/bar//baz/.././qux/"

    // Cleans the path
    cleanPath := filepath.Clean(path)

    // Prints the original and cleaned file paths
    fmt.Println("Original path:", path)
    fmt.Println("Cleaned path:", cleanPath)
}

ال طريق المتغير هو مسار الملف الأولي ، و ينظف وظيفة ينظف طريق متغير ويعيد مسار الملف الذي تم تنظيفه. ال رئيسي تقوم الوظيفة بطباعة مسارات الملفات الأولية والنظيفة.





  نتيجة تنظيف المسارات بوظيفة التنظيف

الانضمام إلى مسارات الملفات وتقسيمها في Go

ال ينضم و ينقسم توفر الوظائف وظائف لضم مسارات الملفات وتقسيمها.

تأخذ وظيفة الانضمام أي عدد من عناصر المسار. يقوم بإرجاع سلسلة مسار ملف واحد ينتج عن ربط تلك العناصر باستخدام فاصل المسار المناسب لنظام التشغيل. ال ينضم الوظيفة مفيدة لإنشاء مسارات ملفات مستقلة عن نظام الملفات الأساسي.

 package main 

import (
    "fmt"
    "path/filepath"
)

func main() {
    // Defines four file paths for the join operation
    path1 := "folder1"
    path2 := "folder2"
    path3 := "subfolder1"
    path4 := "example.txt"

    // Joins the four file paths together into a single path
    joinedPath := filepath.Join(path1, path2, path3, path4)

    // Print the unified file path
    fmt.Println("Joined Path:", joinedPath)
}

ال المسار 1 و المسار 2 ، و المسار 3 المتغيرات هي أسماء المجلدات ، و المسار 4 المتغير هو اسم ملف. ال ينضم تأخذ الدالة أسماء متغيرات المسار وتعيد مسار الملف المتسلسل. ال رئيسي تقوم الوظيفة بطباعة مسار الملف المتسلسل إلى وحدة التحكم باستخدام ملحق FMT طَرد.

ال ينقسم تأخذ الدالة سلسلة مسار وتقوم بإرجاع دليل المسار ومكونات اسم الملف. ال ينقسم الوظيفة مفيدة لاستخراج أسماء الملفات أو تحديد الدليل الأصل لملف.

كيفية إعادة ضبط ps4 لإعدادات المصنع
 package main 

import (
    "fmt"
    "path/filepath"
)

func main() {
    // Sets the file path for the split operation
    filePath := "/home/user/documents/example.txt"
    
    // Use the Split function to split the file path
    // into its directory and file components
    dir, file := filepath.Split(filePath)
    
    // Print the directory and file components
    fmt.Println("Directory:", dir)
    fmt.Println("File:", file)
}

ال مسار الملف المتغير هو مسار الملف الأصلي ، و ينقسم تأخذ الوظيفة في مسار الملف متغير وإرجاع أسماء الدلائل والملفات كسلاسل. ال رئيسي تقوم الوظيفة بطباعة أسماء الدليل والملفات إلى وحدة التحكم.

يمكنك معالجة الملفات النصية باستخدام Go

إلى جانب وظائف نظام الملفات ، يوفر Go حزمًا لمساعدتك في العمل مع أنواع ملفات متعددة ، بما في ذلك الملفات النصية.

يمكنك استخدام ال بوفيو حزمة لعمليات الإدخال والإخراج المخزنة على الملفات النصية وملفات أنت حزمة لإنشاء الملفات ، من بين عمليات أخرى.