2010-09-28 17 views
21

İçeriği dosya listesinden kaldırmak istiyorum.Dosyadan tüm içeriği silin

DÜZENLEME:

Ben dosyaların listesi var.

dosya1 file2 dosya3

hatlarının demet içeren olanlar dosya ... Ben her dosyalarından tüm satırları kaldırmak istediğiniz

.

+1

Özel sorunuz nedir? –

+0

@Timo. Bir dosya listesine sahip olduğu ve içeriğinin kaldırılmasını/silinmesini istediği anlaşılıyor. İlk revizyondan belliydi. Burada gönderiyorsa, bunun nasıl başarılacağını bilmek istiyordur. Buradaki herkes akıcı bir şekilde ingilizce bilmemektedir. – z5h

cevap

37

Dosyayı kesmeniz gerektiği gibi görünüyor.

File.truncate('/path/to/file', 0) 

dosyaların listesini kesmek için:: Bir dosya kesmek için

File.open('/tmp/file', 'w') {|file| file.truncate(0) } 
+11

'File.open ('/ tmp/file', 'w') {}' yeterli olmalıdır. –

+16

'truncate' da bir sınıf yöntemi olarak kullanılabilir, dosyayı açmaya gerek yoktur:' File.truncate ('/ path/to/file', 0) '. Bununla birlikte, bunun "Tüm platformlarda mevcut değil" şeklinde belgelendiğini unutmayın. (Bu genellikle sadece POSIX anlamına gelir, yani JRuby yok, IronRuby yok, Windows yok.) –

15

: gibi şeyler yapın

[file1, file2, file3].each { |file| File.truncate(file, 0) } 
0

trankulatı tüm platformlarda kullanılabilir olmadığından, kullanmak f = open('filename', File::TRUNC) {}

İlgili konular