首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ruby / OS X无法打开iPhoto库中的现有文件

ruby / OS X无法打开iPhoto库中的现有文件
EN

Stack Overflow用户
提问于 2015-03-20 21:08:16
回答 2查看 74关注 0票数 0

环境:OSX10.10/Ruby9.6/ iPhoto 2.2

在ruby脚本中,我试图打开'iPhoto库‘中的一个xml文件来获取专辑列表。但是我得到了一个错误:

代码语言:javascript
复制
 f = File.open(@xmlpath)
 Errno::ENOENT: No such file or directory @ rb_sysopen - /Users/myself/Pictures/iPhoto%20Library/AlbumData.xml

首先,我在我的用户路径中定义了'iPhoto库‘路径:

代码语言:javascript
复制
PhotoLib = File.expand_path(File.join("~","Pictures","iPhoto Library")

然后我定义了@xml文件路径(转义嵌入的空格)

代码语言:javascript
复制
 @xmlpath = URI.escape(File.join iPhotoLib, "AlbumData.xml")

最后,我尝试打开xml文件

代码语言:javascript
复制
 f = File.open(@xmlpath)

但它会引发“No No file or directory”错误...我哪里错了?该文件存在于"iPhoto库“内容中...

EN

回答 2

Stack Overflow用户

发布于 2015-03-20 21:26:52

您不应该使用URI.escape -这是针对url的,但是您传递给File.open的是本地文件系统上的路径,而不是url。特别是百分比转义("%20")对您的文件系统没有意义

票数 0
EN

Stack Overflow用户

发布于 2015-03-20 21:45:03

我应该使用

library_path = Pathname.new(ENV"HOME") +“图片”+ "iPhoto Library.photolibrary“xml_path = library_path + "AlbumData.xml”f= File.open(xml_path)

路径名正确处理它....

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29167250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档