解析从远程计算机拖动的路径

解析从远程计算机拖动的路径

我正在编写一个应用程序,需要能够解析从远程服务器拖到命令行上的路径。但是,当我将路径从远程计算机拖动到终端时,我得到如下所示的内容:

/home/user/.gvfs/sftp for Name on server-alias/the/full/path/is/here.file

我只想

/the/full/path/is/here.file

待解析。我想知道是否有一个设置可以调整以防止这个额外的路径前缀(最好),或者Linux中的某个地方是否有一些内置功能可以做到这一点。我当然可以使用正则表达式来解析它,但如果可能的话我想避免这种情况。

我使用的是 ubuntu 10.04 LTS。

答案1

您可能想看一下标题为:的教程:Linux 桌面脚本编写,第 2 部分:Nautilus 脚本编写,其中讨论了如何将您自己的项目添加到 Nautilus 的右键单击上下文菜单中,以及 Nautilus 在操作/拖动其中的对象时为您提供哪些变量。

例子

Nautilus 中提供的变量。

Environment variable                  Description
--------------------                  -----------
NAUTILUS_SCRIPT_SELECTED_FILE_PATHS   Newline-delimited paths for selected files (only if local)
NAUTILUS_SCRIPT_SELECTED_URIS         Newline-delimited URIs for selected files
NAUTILUS_SCRIPT_CURRENT_URI           The current location
NAUTILUS_SCRIPT_WINDOW_GEOMETRY       The position and size of the current window

在 Python 中,只需调用一次os.environ.get函数即可获取这些变量的值,如下所示:

selected = os.environ.get('NAUTILUS_SCRIPT_SELECTED_FILE_PATHS,'')

相关内容