我想将文件保存在特定路径中.. 我用过这样的
file_name = gets
F = open.(Dir.pwd, /data/folder /#{@file_name },w+)
我不确定上述行是否正确!其中Dir.pwd告诉目录路径后跟我的文件夹路径和给定的文件名。
它应该将值存储在具有给定特定文件名的特定路径上。谁能告诉我怎么做。
答案 0 :(得分:2)
您的代码有多处错误。你有没有试过执行这个脚本?
您的脚本以:
结束test.rb:7: unknown regexp options - fldr
test.rb:7: syntax error, unexpected end-of-input
F = open.(Dir.pwd, /data/folder /#{@file_name },w+)
首先:您需要使用'
或"
定义字符串:
file_name = gets
F = open.(Dir.pwd, "/data/folder/#{@file_name}","w+")
其他一些错误:
file_name
及更晚@file_name
。 open
方法属于File
,需要两个参数。F
。我会使用变量。File.join
用于此。完成所有这些更改后,您将获得:
file_name = gets
f = File.open(File.join(Dir.pwd, "/data/folder/#{file_name}"),"w+")
##
f.close
和错误:
test.rb:29:in `initialize': No such file or directory @ rb_sysopen - C:/Temp/data/folder/sdssd (Errno::ENOENT)
该文件夹必须存在,因此您必须先创建它。
现在脚本如下:
require 'fileutils'
dirname = "data/folder"
file_name = gets.strip
FileUtils.mkdir_p(dirname) unless Dir.exists?(dirname)
f = File.open(File.join(Dir.pwd, dirname, file_name),"w+")
##fill the content
f.close