这篇文章主要介绍了怎么用Python扩展和延伸鹦鹉螺,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
<强>鹦鹉螺脚本强>
扩展鹦鹉螺的第一个方法是通过在/home中发现的名为.gnome2/Nautilus脚本的特定目录。当在脚本,菜单下的文件或者文件夹上点击鼠标右键时,该目录下所有可执行文件将会出现。还可以选择多个文件或者文件夹,并采用相同的右击方法,将文件清单传递给脚本。
当调用脚本时,鹦鹉螺支持多个包含当前目录以及所选文件等内容的环境变量。表1展示了这些环境变量。
<强>表1所示。鹦鹉螺环境变量强>
环境变量描述NAUTILUS_SCRIPT_SELECTED_FILE_PATHS所选文件的新行分割路径(仅针对本地)NAUTILUS_SCRIPT_SELECTED_URIS所选文件的新行分割URIsNAUTILUS_SCRIPT_CURRENT_URI当前位置NAUTILUS_SCRIPT_WINDOW_GEOMETRY当前窗口的位置和大小在Python中,通过对os.environ。得到函数的一个调用来获取这些变量的值,具体如下:
selected =, os.environ.get (& # 39; NAUTILUS_SCRIPT_SELECTED_FILE_PATHS & # 39; & # 39;)
此调用返回一个字符串,其包含到达由换行符分隔的全部所选文件.Python利用下列代码,简化了将这一字符串返回到可迭代列表中的操作:
targets =, selected.splitlines ()
此时,也许应该停下来探讨一下用户交互。当控制从鹦鹉螺,传送到脚本后,在该点上确实不存在对脚本的限制。根据脚本作用的不同,甚至不需要任何用户反馈,除了一些类型的完成或错误消息,这样通过一些简单的消息框就可处理好。由于在编写,鹦鹉螺时采用了gtk窗口工具包,所以尽管这不是必须的,但是采用相同的做法很合乎逻辑。您可以很方便地使用TkInter或者,wxPython。
鉴于本文的目的,您将采用,gtk。生成一个用于通信完成状态的简单消息框,仅需几行代码,出于方便阅读的目的,如果想创建简单的函数来生成消息,这个代码将最为合适。总共需4,要行代码:
def 警报(味精): 时间=dialog gtk.MessageDialog () dialog.set_markup(味精) dialog.run ()
<强>示例:创建简单脚本来返回所选文件的数量强>
第一个示例程序将多个程序段合并成一个简单脚本,来返回当前所选文件的数量。这一脚本可用于文件或者目录。可利用另一个Python,库函数,操作系统。走,递归地构建每个目录中文件的清单。总共有38行代码,如清单1所示,这就是这一小工具所需的全部内容,其中还包括了空行。
<强>清单1。用于Filecount脚本的代码Python 强>
# !/usr/bin/env Python import pygtk pygtk.require (& # 39; 2.0 & # 39;) import gtk import 操作系统 def 警报(味精): “““Show a  dialog with a simple 消息!”““ 时间=dialog gtk.MessageDialog () dialog.set_markup(味精) dialog.run () def main (): 时间=selected os.environ.get (& # 39; NAUTILUS_SCRIPT_SELECTED_URIS& # 39;,, & # 39; & # 39;) 时间=curdir os.environ.get (& # 39; NAUTILUS_SCRIPT_CURRENT_URI& # 39;,, os.curdir) if 选择: 时间=targets selected.splitlines () 其他: 时间=targets [curdir] 时间=files [] 时间=directories [] for target 拷贝的目标: if target.startswith(& # 39;文件:///& # 39;): 时间=target 目标[7:] for 目录名,目录名,filenames 拷贝os.walk(目标): for dirname 拷贝目录名: directories.append(目录名) for filename 拷贝文件名: files.append(文件名) 警报(& # 39;% s directories 以及% s 文件# 39;,% (len(目录),len(文件))) if __name__ ==,“__main__": main ()
图1展示了当在文件上右击鼠标或者选择一组文件时所看到的内容.Scripts菜单选项展示.gnome2/Nautilus脚本,中所有的可执行文件,并给出了打开文件夹的选项。选择一个文件来执行该脚本。