如何在 ruby 中的特定路径中写入文件
How to write a file in specific path in ruby
我想将我的文件保存在特定路径中..
我是这样用的
file_name = gets
F = open.(Dir.pwd, /data/folder /#{@file_name },w+)
我不确定上面这行是否正确!其中 Dir.pwd 告诉目录路径后跟我的文件夹路径和给定的文件名。
它应该使用给定的特定文件名将值存储在特定路径上。谁能告诉我怎么做。
您的代码有多个错误。您是否尝试过执行脚本?
您的脚本以:
结尾
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
我想将我的文件保存在特定路径中.. 我是这样用的
file_name = gets
F = open.(Dir.pwd, /data/folder /#{@file_name },w+)
我不确定上面这行是否正确!其中 Dir.pwd 告诉目录路径后跟我的文件夹路径和给定的文件名。
它应该使用给定的特定文件名将值存储在特定路径上。谁能告诉我怎么做。
您的代码有多个错误。您是否尝试过执行脚本?
您的脚本以:
结尾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