Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 从文件中删除所有内容_Ruby - Fatal编程技术网

Ruby 从文件中删除所有内容

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

我想从文件列表中删除内容

编辑:

我有一份文件清单

文件1 文件2 文件3

那些包含一堆行的文件


我想删除每个文件中的所有行。

看起来您需要截断文件。 做一些类似于:

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){}