Ruby 从文件中删除所有内容
我想从文件列表中删除内容 编辑: 我有一份文件清单 文件1 文件2 文件3 那些包含一堆行的文件Ruby 从文件中删除所有内容,ruby,Ruby,我想从文件列表中删除内容 编辑: 我有一份文件清单 文件1 文件2 文件3 那些包含一堆行的文件 我想删除每个文件中的所有行。看起来您需要截断文件。 做一些类似于: File.open('/tmp/file', 'w') {|file| file.truncate(0) } 要截断文件,请执行以下操作: File.truncate('/path/to/file', 0) 要截断文件列表,请执行以下操作: [file1, file2, file3].each { |file| File.tru
我想删除每个文件中的所有行。看起来您需要截断文件。 做一些类似于:
File.open('/tmp/file', 'w') {|file| file.truncate(0) }
要截断文件,请执行以下操作:
File.truncate('/path/to/file', 0)
要截断文件列表,请执行以下操作:
[file1, file2, file3].each { |file| File.truncate(file, 0) }
由于truncate在所有平台上都不可用,请使用
f=open('filename',File::TRUNC){}
您的具体问题是什么?@Timo。听起来他有一个文件列表,他想删除这些文件的内容。从第一次修订就可以清楚地看出这一点。如果他在这里发帖,他可能想知道如何才能做到这一点。这里不是每个人都能说流利的英语。File.open('/tmp/File',w'{}
应该足够了。truncate
也可以作为类方法使用,不需要显式打开文件:File.truncate('/path/to/File',0)
。但是,请注意,这在文档中被记录为“并非在所有平台上都可用”。(这通常意味着仅限POSIX,即没有JRuby,没有IronRuby,没有Windows。)File.truncate('/path/to/File',0)
在JRuby上有效,至少在Mac和Linux上有效。如果您确实想写入该文件,请执行:f=open('filename',File::TRUNC | File::WRONLY){}
。