加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 使用字符串到文件名

发布时间:2020-12-17 02:08:25 所属栏目:百科 来源:网络整理
导读:我正在尝试从字符串中输入文件名,但不能. 这很好用: #!/usr/bin/rubyrequire 'httpclient'http2 = HTTPClient.newresponse = http2.get_content("http://example.com/version.ini")response.each_line do | line | http = HTTPClient.new my_file = open('f
我正在尝试从字符串中输入文件名,但不能.

这很好用:

#!/usr/bin/ruby
require 'httpclient'

http2 = HTTPClient.new
response = http2.get_content("http://example.com/version.ini")

response.each_line do | line |

    http = HTTPClient.new
    my_file = open('file.zip','wb')
    my_file.write(http.get_content("http://example.com/data.zip"))

end

puts "Done."

但这不是:

#!/usr/bin/ruby
require 'httpclient'

http2 = HTTPClient.new
response = http2.get_content("http://example.com/version.ini")

response.each_line do | line |
    puts line # -> file.zip
    http = HTTPClient.new
    my_file = open(line,'wb')
    my_file.write(http.get_content("http://example.com/data.zip"))

end

puts "Done."

安慰:

C:/Ruby22-x64/lib/ruby/2.2.0/open-uri.rb:36:in initialize': Invalid
argument @ rb_sysopen - file.zip (Errno::EINVAL)
from C:/Ruby22-x64/lib/ruby/2.2.0/open-uri.rb:36:in
open’
from C:/Ruby22-x64/lib/ruby/2.2.0/open-uri.rb:36:in open'
from launcher.rb:10:in
block in ‘
from launcher.rb:7:in each_line'
from launcher.rb:7:in

解决方法

问题是使用换行符char,尝试剥离它.

my_file = open(line.chomp,'wb')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读