Ruby 的 File.open 给出“没有这样的文件或目录 - text.txt (Errno::ENOENT)”错误

2024-01-01

我在我的 Win 7 机器上安装了 Ruby 1.9.2。创建了一个简单的analyzer.rb文件。它有这一行:

File.open("text.txt").each {|line| puts line}

当我运行代码时,它给我这个错误:

analyzer.rb:1:in `initialize': No such file or directory - text.txt (Errno::ENOENT)
from analyzer.rb:1:in `open'
from analyzer.rb:1:in `<main>'
Exit code: 1

我不明白。有一个text.txt文件与该文件位于同一目录中analyzer.rb文件。我还尝试提供文件的绝对路径,C:\Ruby192\text.txt,但没有骰子。我缺少什么?


首先弄清楚你的当前工作目录用于您的运行脚本。
在开头添加这一行:

puts Dir.pwd.

这将告诉您 ruby​​ 正在哪个当前工作目录中运行您的脚本。您很可能会发现它不在您想象的位置。然后确保为 Windows 正确指定路径名。请参阅此处的文档,了解如何正确设置 Windows 路径名的格式:

http://www.ruby-doc.org/core/classes/IO.html http://www.ruby-doc.org/core/classes/IO.html

然后要么使用Dir.chdir将工作目录更改为 text.txt 所在的位置,或根据上面 IO 文档中的说明指定文件的绝对路径名。应该这样做...

EDIT

如果您将文本文件放在脚本文件中,添加第三种解决方案可能是最方便的一种:

Dir.chdir(File.dirname(__FILE__))

这将自动将当前工作目录更改为与.rb正在运行脚本的文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby 的 File.open 给出“没有这样的文件或目录 - text.txt (Errno::ENOENT)”错误 的相关文章

  • Ruby Shoes 打包程序,包括应用程序中的 Shoes

    我似乎无法让 Ruby Shoes 打包程序正确创建包含 Shoes 的 exe 我正在使用 Raisins 版本 0 r1134 并从 github 替换 pack rb 打包程序制作的 exe 都是 70 80K 文件 它们显然不包括
  • Ruby/Rails/Rack 代码中的“use”关键字/单词

    最近我偶然在Ruby代码中看到这个词 use 当我正在查看一些与goliath https github com postrank labs goliath 中间件等 看起来它不同于include extend and require 有人
  • 如何添加到 Ruby 中的现有哈希

    关于添加一个key gt value与 Ruby 中现有的填充哈希配对 我正在学习 Apress 的 Beginning Ruby 并且刚刚完成了哈希章节 我试图找到最简单的方法来使用哈希实现与数组相同的结果 x 1 2 3 4 x lt
  • CSV.foreach 未读取 CSV 文件中的第一列

    第一次学习Ruby来自动清理一些CSV文件 我已经设法从其他 SO 问题中拼凑出下面的脚本 但由于某种原因 该脚本没有读取原始 CSV 文件的第一列 如果我添加一个虚拟的第一列 一切都会完美运行 我缺少什么 require csv COLU
  • 如何在 rake 任务中包含 ActionMailer 类?

    我想在我的 rake 任务中使用 ActionMailer 以便在特定时间向人们发送电子邮件 我在 app mailers 文件夹中编写了一个邮件程序类 如下所示 class AlertsMailer lt ActionMailer Bas
  • 分别对用户和管理员进行身份验证

    class ApplicationController lt ActionController Base protect from forgery skip before filter authenticate user only gt w
  • 在 Ruby/Sinatra 中解码 Facebook 的签名请求

    由于 Facebook 不赞成使用新的 FBML 我正在寻找一种新方法来创建 显示 选项卡 向粉丝显示一个版本 向非粉丝显示另一个版本的页面选项卡 Facebook 已将数据添加到signed request 中 当用户在应用程序中选择您的
  • 在 Ruby 中创建带有静态页面的博客的最佳方法

    我刚刚访问了静态网站生成 http www ruby toolbox com categories static website generation html on 红宝石工具箱 http www ruby toolbox com 我不知
  • ActiveRecord oracle_enhanced 适配器无法加载 ruby​​-oci8 库

    rails g scaffold失败 但 oci 脚本和 irb 数据查询有效 无法弄清楚出了什么问题 rails g scaffold table field1 integer field2 string invoke active re
  • Ruby 代码到 JAR

    我希望能够将 ruby 程序编译为 java JAR 程序 我研究过 JRuby 看到了几个能够 eval ruby 代码的 Java 应用程序示例 但是是否有更优雅的解决方案允许简单地用 ruby 编写所有内容 然后将其直接编译为 JAR
  • 如何检查水豚中的复选框?

    我正在使用 Rspec 和水豚 我怎样才能写一个步骤来检查checkbox 我试过了check按价值但它找不到我的checkbox 我不知道该怎么做 因为我实际上有相同的 ID 但值不同 这是代码
  • 将对象数组中的属性映射到另一个数组的更有效的 Ruby 方法?

    我不会在这里重复我的问题 但是有没有更有效的方法来写这个 def recruits names names for r in self referrals do names lt lt r display name end return n
  • 使用 Ruby 获取 AWS 区域名称

    我正在为 AWS 开发 Rails 应用程序 并希望为区域名称创建下拉菜单 例如 us east 1 等 如果有人已经创建了 gem 来获取它们 我想使用它 有人知道这样的 gem 或有用的 API 吗 适用于 Ruby 的 AWS 开发工
  • gem install rmagick 在 OS X El Capitan 上失败

    几天前我升级到 El Capitan 并运行了 brew update brew upgrade 它更新了 imagemagick 导致 ruby 的 rmagick gem 停止工作 我想没问题 我就跑 gem install rmagi
  • 无需别名的 Ruby YAML 编写

    我正在从 ruby 将数据写入 yaml 文件 并且经常在该文件上添加别名 像 id001 somekey somevalue id001 就我而言 我使用 yaml 文件来aid可读性并将名称添加到文件中的值 因为现有数据只是 没有键的分
  • 在 ruby​​ 中读/写受密码保护和加密的文件

    我想加密一个 ruby 程序将从中加载数据的文件 此外 我需要程序在启动时提示输入密码 该密码将用于解密文件 换句话说 该文件需要加密地驻留在计算机上 只有拥有密码的用户才能运行该应用程序 我已经开始研究 openpgp 但据我了解 这仍然
  • 从类内部调用属性访问器方法[重复]

    这个问题在这里已经有答案了 我正在尝试调用我的类属性编写器之一 但由于某种原因它永远不会被调用 下面是一些代码 可以使这一点更清楚 class Test attr reader test def test val puts Called t
  • ruby 的 String .hash 方法如何工作?

    我只是红宝石的新手 我见过一个字符串方法 String hash 例如 在irb 我试过了 gt gt mgpyone hash returns gt 144611910 这个方法是如何工作的 The hash方法是为所有对象定义的 看文档
  • 有没有可以在 HTML 文档之间进行比较的 ruby​​ gem?

    事实证明 对两个不同的 html 文档进行比较是一个完全不同的问题 而不仅仅是对纯文本进行比较 例如 如果我在以下之间进行简单的 LCS 差异 Google and Google diff 结果不是 but a gt github com
  • 下载所有 gems 依赖项

    我想通过下载任何所需的文件并将它们带到另一台计算机来安装指南针没有互联网连接 我已经下载了指南针的源包 当我在未连接的计算机上运行 gem 时 它抱怨缺少依赖项 有什么解决办法吗 这正是我遇到的问题 经过一段时间的搜索后 我找到了一个可以使

随机推荐

  • 如何使用Java中的文件中的特定行号读取特定行?

    在Java中 有什么方法可以从文件中读取特定行吗 例如 读取第 32 行或任何其他行号 对于小文件 String line32 Files readAllLines Paths get file txt get 32 对于大文件 try S
  • 如何在AWS EMR上重新启动yarn

    我正在使用 Hadoop 2 6 0 emr 4 2 0图像 我做了一些改变yarn site xml并希望重新启动纱线以使更改生效 有一个命令可以用来执行此操作吗 编辑 2017 年 10 月 26 日 AWS 官方已在此处发布了有关如何
  • Angular 5(Karma / Jasmine 测试)- 使用模拟后端来模拟错误消息的错误响应

    我不太明白 MockBackend 功能是如何工作的描述在这里 https angular io api http testing MockBackend 我对 Angular 完全陌生 我想编写一些测试用例 以确保当后端发生服务器错误时
  • 用于平铺渲染的 OpenGL 矩阵设置

    看完之后datenwolf 2011 年关于 OpenGL 中基于图块的渲染设置的回答 https stackoverflow com questions 6490728 capture snapshot of opengl window
  • 使用 Monkey Test 时如何防止输入设置

    我在 Android 设备 LG G4 中对我的应用程序进行了猴子测试 命令是 adb shell monkey p package name v 2000 但它可能会意外进入设置并更改我的设备的默认值 如何预防呢 Monkey支持黑名单
  • 使用 KVO 更改属性时发送通知

    我有一个名为myName在我的课堂上 比如 property nonatomic strong NSString myName 我需要在以下情况时发送通知myName属性的值发生改变 现在我正在做类似的事情 void setMyName N
  • 如何在设计时进行调试?

    我使用 UserControl 创建了一个自定义 ListView 当鼠标进入 ColumnHeader 时 它应该在设计时改变颜色 它有效 但我需要调试代码 如何在设计时调试代码 See 演练 在设计时调试自定义 Windows 窗体控件
  • 可以删除Android依赖吗?

    我有一个应用程序 到目前为止一直工作和编译得很好 但是 当我转到 导出 时 会自动添加 Android 依赖项 这会引发 转换为 Dalvik 格式失败 错误 1 我对此进行了研究 我知道这是因为 Android 依赖项添加了重复文件 我目
  • 加入具有不同排序规则问题的列

    我正在使用 SQL Server 2005 我有两个表 它们使用不同的排序规则 不允许连接具有不同排序规则的表中的列 例如不允许使用以下 SQL select table1column1 table2column2 from 我的问题是 为
  • C++/SDL2——渲染一个圆[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我用 SDL2 画一个实心圆 方向正确吗 我认为使用参数方程和趋于零的半径是可行的 但在处理器使用方面似乎效率很低 任何其他想法都非常感谢 提前
  • 如何从 Ruby on Rails 应用程序中的 OAuth::Unauthorized 异常中拯救出来?

    如何挽救 Ruby on Rails 应用程序中 OmniAuth 引发的 OAuth Unauthorized 异常 显然是这样的 rescue from OAuth Unauthorized with gt unauthorized 不
  • java nio 直接缓冲区上的压缩

    gzip 输入 输出流不在 Java 直接缓冲区上运行 是否有直接在直接缓冲区上运行的压缩算法实现 这样就不会产生将直接缓冲区复制到 java 字节数组进行压缩的开销 我无意转移你的问题 但这就是really你的程序中有一个好的优化点吗 您
  • 在 C# 中获取属性值(反射)的最快方法

    我想知道从对象的属性获取值 仅针对此问题 的最快方法是什么 经过一番搜索后 我在这个网站上看到了 MarkGravell 的帖子 他写了这段代码 using System using System Reflection using Syst
  • new Integer(123)、Integer.valueOf(123) 和 just 123 之间的区别

    最近我看到这样的代码 Java myMethod new Integer 123 我目前正在重构一些代码 声纳工具中有一个提示 使用这样的东西对内存更友好 myMethod Integer valueOf 123 但是在这种情况下 我认为使
  • 来自主线程的 VTK 窗口线程,C++

    我刚刚学习 VTK 和 C GUI 编程 希望有一个简单的问题 主应用程序在应用程序中的某个时刻启动渲染的窗口 希望在显示 VTK 窗口时主线程能够继续 是否有特定的方法可以将 VTK 窗口作为线程启动 我的环境是 Linux 可以使用 b
  • IFNDR 是否优先于可诊断的违规行为?

    简介 合规性 一般 2 https timsong cpp github io cppwp n4868 intro compliance general 2指定编译器应如何处理给定的程序 特别是它有两点涉及格式错误的程序 2 2 要求编译器
  • Numpy 重新索引前 N 个自然数

    我有一个索引非常稀疏的矩阵 行和列中的最大值都超过 130000 但其中只有少数行 列实际上具有非零值 因此 我希望通过前 N 个自然数将行索引和列索引移动为仅表示非零索引 从视觉上看 我想要一个像这样的示例矩阵 1 0 1 0 0 0 0
  • 在circos中使用circos函数

    有人能帮我吗 如何在数据中添加 circos 函数 当我尝试时 我收到一条错误消息 但它不会产生任何结果 我想做一个像 1 号表示一样的甜甜圈图形 但我还有另一个结果 我们可以在另一张图片中看到 试图跟随本指南 https jokergoo
  • JNI4Net C# 到 Java

    我有一个简单的 Java 类 名为jniBridge Calculator有一种简单的方法Add int a int b 使用 eclipse 构建项目后 我将项目导出为 JAR 文件 然后我在 JAR 文件上调用 proxygen 这会生
  • Ruby 的 File.open 给出“没有这样的文件或目录 - text.txt (Errno::ENOENT)”错误

    我在我的 Win 7 机器上安装了 Ruby 1 9 2 创建了一个简单的analyzer rb文件 它有这一行 File open text txt each line puts line 当我运行代码时 它给我这个错误 analyzer