如何在Python 2.7(OS X)中获取和使用STDOUT的路径

时间:2014-03-02 18:35:59

标签: python applescript subprocess

此问题与使用OS X的问题有关,因为我使用AppleScript从最前面的Finder窗口返回路径。我想获取此路径并列出目录内容。最终我将使用输出重命名文件。

出于某种原因,以下代码会产生OSError: 2, 'No such file or directory'

以下是代码:

import os

from subprocess import Popen,PIPE,STDOUT,call 

def ascript():
    cmd = """osascript -e 'tell app "Finder" to get the quoted form of the POSIX path of (target of window 1 as alias) '"""
    proc=Popen(cmd, shell=True, stdout=PIPE, ) 
    output,err=proc.communicate()
    return output.rstrip()

stuff = os.listdir(ascript())

我也尝试过:

path = ascript()
stuff = os.listdir(path)

1 个答案:

答案 0 :(得分:1)

您无需返回POSIX路径的引用形式。当你这样做时,python实际上是在阅读:

'/path/to/window'

删除quoted form后,它会返回正确的路径格式:

/path/to/window