我正在尝试将一个 Ruby 文件中的一些数据写入另一个文件夹中的文件,但在识别要写入的文件的路径时遇到问题。
我当前的代码是:
File.write('../csv_fixtures/loans.csv', 'test worked!')
我尝试在“run_spec.rb”中运行代码并写入“loans.csv”。
最佳答案
给出相对于工作目录的路径,而不是您调用 File.write
的文件的路径。工作目录是您在调用 ruby 代码之前通过 cd 导航到的位置。如果您从项目的根目录运行 rspec,那么工作目录也将是根目录。因此,在本例中,看起来应该是 ./spec/csv_fixtures/loans.csv
。您可以运行 puts Dir.pwd 来查看所有路径应相对于的工作目录。
如果您想要更像 require_relative
的东西,则必须使用某种解决方法将其转换为绝对路径,例如 File.dirname(__FILE__)
它给出包含当前文件的文件夹的绝对路径:
path = File.join(File.dirname(__FILE__, "../csv_fixtures/loans.csv"))
关于ruby - 如何获取另一个unix文件夹中文件的文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50933451/