Η εργασία με αρχεία και καταλόγους είναι μια βασική εργασία για εφαρμογές που χρειάζονται αποθήκευση και ανάκτηση δεδομένων. Το Go παρέχει το πακέτο διαδρομής αρχείου για λειτουργίες διαδρομής αρχείου ανεξάρτητες από πλατφόρμα. Το πακέτο περιλαμβάνει λειτουργίες χειρισμού διαδρομών αρχείων και είναι συμβατό με Windows, Linux και macOS.
Οι συναρτήσεις που περιλαμβάνει η διαδρομή αρχείου μπορούν να ενώσουν, να χωρίσουν και να καθαρίσουν διαδρομές αρχείων για να διασφαλιστεί ότι είναι έγκυρες. Το πακέτο έχει επίσης λειτουργίες για πεζοπορία καταλόγων και αναζήτηση αρχείων.
ΚΑΤΑΣΚΕΥΗ ΒΙΝΤΕΟ ΤΗΣ ΗΜΕΡΑΣ
Walking Directory Trees
ο Περπατήστε λειτουργία του διαδρομή αρχείου Το πακέτο παρέχει λειτουργικότητα για περπάτημα σε ένα δέντρο καταλόγου και διέλευση αρχείων και καταλόγων με τρόπο προπαραγγελίας. Θα επισκεφθεί αναδρομικά όλους τους καταλόγους κάτω από τη δεδομένη ρίζα. Η συνάρτηση 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.")
}
}
ο κύριος η συνάρτηση ταιριάζει με ένα όνομα αρχείου με το *.κείμενο μοτίβο και εκτυπώνει μια συμβολοσειρά ανάλογα με το αποτέλεσμα του η υπό όρους δήλωση .
Καθαρισμός μονοπατιών με τη λειτουργία Clean
ο ΚΑΘΑΡΗ η συνάρτηση παίρνει μια διαδρομή αρχείου και επιστρέφει μια καθαρισμένη έκδοση μιας διαδρομής αφαιρώντας περιττά διαχωριστικά και αλλαγές καταλόγου, όπως π.χ. . (τρέχων κατάλογος) και .. τμήματα (γονικός κατάλογος).
γιατί δεν θα δουλέψει το ποντίκι μου
Ο καθαρισμός των διαδρομών αρχείων είναι χρήσιμος, καθώς βοηθά στην αποφυγή σφαλμάτων εάν μια διαδρομή περιέχει περιττά διαχωριστικά ή μη έγκυρα τμήματα ή δημιουργεί διαδρομές ανεξάρτητα από τον τρέχοντα κατάλογο εργασίας.
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
ο Συμμετοχή και Διαίρεση Οι λειτουργίες παρέχουν λειτουργικότητα για σύνδεση και διαχωρισμό μονοπατιών αρχείων.
Η συνάρτηση Join λαμβάνει οποιονδήποτε αριθμό στοιχείων διαδρομής. Επιστρέφει μια μοναδική συμβολοσειρά διαδρομής αρχείου που προκύπτει από τη σύνδεση αυτών των στοιχείων χρησιμοποιώντας το κατάλληλο διαχωριστικό διαδρομής για το λειτουργικό σύστημα. ο Συμμετοχή Η λειτουργία είναι χρήσιμη για τη δημιουργία διαδρομών αρχείων ανεξάρτητων από το υποκείμενο σύστημα αρχείων.
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 πακέτο.
ο Διαίρεση Η συνάρτηση παίρνει μια συμβολοσειρά διαδρομής και επιστρέφει τα στοιχεία του καταλόγου και του ονόματος αρχείου της διαδρομής. ο Διαίρεση Η λειτουργία είναι χρήσιμη για την εξαγωγή ονομάτων αρχείων ή για τον προσδιορισμό του γονικού καταλόγου ενός αρχείου.
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 παρέχει πακέτα που σας βοηθούν να εργαστείτε με πολλούς τύπους αρχείων, συμπεριλαμβανομένων των αρχείων κειμένου.
Μπορείτε να χρησιμοποιήσετε το bufio πακέτο σε λειτουργίες εισόδου και εξόδου σε προσωρινή μνήμη σε αρχεία κειμένου και το εσείς πακέτο για τη δημιουργία αρχείων, μεταξύ άλλων λειτουργιών.