代码之家  ›  专栏  ›  技术社区  ›  Duck

AppleScript-从磁盘读取的数组为空

  •  0
  • Duck  · 技术社区  · 4 年前

    我有一个脚本,开头是这样的:

    tell application "Finder"
        set theFolder to (choose folder)    
        set theFile to POSIX path of ((theFolder as string) & "words.txt")
        set fileHandle to open for access theFile
        set nameArray to paragraphs of (read fileHandle for (get eof fileHandle) as «class utf8»)
        close access fileHandle
    end tell
    

    文件 words.txt 在那里,每行包含一个单词。 theFile 是指向words.txt的有效路径,类似于 /Users/myself/Desktop/folder/words.txt .

    nameArray 空了。 为什么?

    如果不是让用户选择文件夹,而是硬编码路径,比如

    set theFile to "/Users/myself/Desktop/folder/words.txt"
    

    一切正常。

    0 回复  |  直到 4 年前
        1
  •  1
  •   user3439894    4 年前

    首先,你不需要 查找器 如有必要 命令 只是基本的 AppleScript 命令 和/或都是 标准添加 .

    以下三行代码本身将完成您想要做的事情:

    set theFolder to (choose folder)
    set theFile to POSIX path of ((theFolder as string) & "words.txt")
    set nameArray to paragraphs of (read theFile as «class utf8»)
    

    要记住的事情,如果最后一行 文件 以a结尾 线路馈电 那么最后一个 项目 列表 "" 你可以在你的 代码 当你使用每一个 项目 列表 或添加以下内容 例子 如果存在,请将其删除:

    if last item of nameArray is equal to "" then ¬
        set nameArray to items 1 thru -2 of nameArray