方法删除Ruby中的所有文件
我可能会在这之后踢自己,但我已经在cucumber应用程序中创建了一个方法,该方法将删除目录中的所有文件,但它似乎不会执行,因为运行它后文件仍然存在,尽管如果我跳入控制台并一步一步地运行命令,它会工作 当调用方法本身时,有没有任何原因说明这不起作用方法删除Ruby中的所有文件,ruby,Ruby,我可能会在这之后踢自己,但我已经在cucumber应用程序中创建了一个方法,该方法将删除目录中的所有文件,但它似乎不会执行,因为运行它后文件仍然存在,尽管如果我跳入控制台并一步一步地运行命令,它会工作 当调用方法本身时,有没有任何原因说明这不起作用 def clean_reports js_error_path = File.join(File.dirname(__FILE__), '/report/js_errors') screenshot_path = File.join(File
def clean_reports
js_error_path = File.join(File.dirname(__FILE__), '/report/js_errors')
screenshot_path = File.join(File.dirname(__FILE__), '/report/screenshots')
FileUtils.rm_rf(Dir.glob(js_error_path + '/*'))
FileUtils.rm_rf(Dir.glob(screenshot_path + '/*'))
end
如果我能只调用一次FileUtils.rm\u rf
,那会很方便吗?这可能吗
我的目录结构是这样的
-cucumber_tests
-report
-js_errors
(files)
-screenshots
(files)
谢谢下面这句话会有帮助
FileUtils.rm_rf(Dir['./report/js_errors', './report/screenshots'])
将“#{js_error_path}”
放在分配之后-给你什么?顺便说一句,Dir
接受枚举符号:Dir['report/{js_errors,screenshots}/***']
.puts输出。/report/js_errors'nil
?这实际上是不可能的,因为File.join
是一个支持字符串的连接函数。无论如何,在您的环境中,File.dirname\uuuu File\uuuuu
可能与您在控制台中得到的有一定差异。抱歉,我的错误,已经编辑了我以前的评论,因此我是否需要使用与File.dirname\uu File\uuuu不同的内容?我不想硬编码路径,因为根目录的位置可能位于其他人机器上不同的位置Dir['./report/{js_errors,screenshots}]
看起来更漂亮。谢谢这两个,非常有帮助