Tcl - Dosya G / Ç
Tcl, yerleşik açma, okuma, koyma, alma ve kapatma komutlarının yardımıyla dosya işlemeyi destekler.
Bir dosya, bir metin dosyası veya ikili dosya olması fark etmez, bir bayt dizisini temsil eder.
Dosyaları Açma
Tcl, dosyaları Tcl'de açmak için open komutunu kullanır. Bir dosyayı açmak için sözdizimi aşağıdaki gibidir -
open fileName accessMode
Buraya, filename dize değişmezidir, dosyanızı adlandırmak için kullanacağınız ve accessMode aşağıdaki değerlerden birine sahip olabilir -
Sr.No. | Mod ve Açıklama |
---|---|
1 | r Okuma amacıyla mevcut bir metin dosyasını açar ve dosyanın var olması gerekir. Bu, accessMode belirtilmediğinde kullanılan varsayılan moddur. |
2 | w Yazmak için bir metin dosyası açar, yoksa yeni bir dosya oluşturulur, yoksa var olan dosya kesilir. |
3 | a Ekleme modunda yazmak için bir metin dosyası açar ve dosyanın mevcut olması gerekir. Burada, programınız mevcut dosya içeriğine içerik eklemeye başlayacaktır. |
4 | r+ Her ikisini de okumak ve yazmak için bir metin dosyası açar. Dosya zaten mevcut olmalıdır. |
5 | w+ Her ikisini de okumak ve yazmak için bir metin dosyası açar. Önce dosyayı sıfır uzunluğa kısaltın, aksi takdirde dosya yoksa oluşturun. |
6 | a+ Her ikisini de okumak ve yazmak için bir metin dosyası açar. Dosya yoksa oluşturur. Okuma baştan başlayacak, ancak yazı sadece eklenebilir. |
Bir Dosyayı Kapatmak
Bir dosyayı kapatmak için kapat komutunu kullanın. Kapanış sözdizimi aşağıdaki gibidir -
close fileName
Bir program tarafından açılan herhangi bir dosya, program o dosyayı kullanmayı bitirdiğinde kapatılmalıdır. Çoğu durumda, dosyaların açıkça kapatılması gerekmez; Dosya nesneleri otomatik olarak sonlandırıldığında otomatik olarak kapatılırlar.
Dosya Yazma
Puts komutu, açık bir dosyaya yazmak için kullanılır.
puts $filename "text to write"
Bir dosyaya yazmak için basit bir örnek aşağıda gösterilmiştir.
#!/usr/bin/tclsh
set fp [open "input.txt" w+]
puts $fp "test"
close $fp
Yukarıdaki kod derlendiğinde ve çalıştırıldığında, yeni bir dosya oluşturur input.txt altında başlatıldığı dizinde (programın çalışma dizininde).
Bir Dosyayı Okumak
Bir dosyadan okumak için basit bir komut aşağıdadır -
set file_data [read $fp]
Aşağıda tam bir okuma ve yazma örneği gösterilmektedir -
#!/usr/bin/tclsh
set fp [open "input.txt" w+]
puts $fp "test"
close $fp
set fp [open "input.txt" r]
set file_data [read $fp]
puts $file_data
close $fp
Yukarıdaki kod derlenip çalıştırıldığında, önceki bölümde oluşturulan dosyayı okur ve aşağıdaki sonucu verir -
test
İşte dosyanın sonuna kadar satır satır okumak için başka bir örnek -
#!/usr/bin/tclsh
set fp [open "input.txt" w+]
puts $fp "test\ntest"
close $fp
set fp [open "input.txt" r]
while { [gets $fp data] >= 0 } {
puts $data
}
close $fp
Yukarıdaki kod derlenip çalıştırıldığında, önceki bölümde oluşturulan dosyayı okur ve aşağıdaki sonucu verir -
test
test