<p>我使用基于<code>Ubuntu</code>的<code>Linux Mint</code>,但它使用<code>MATE</code>(桌面环境)和文件管理器<code>Caja</code>(以前是{<cd5>}),所以最后一点(5)在<code>Ubuntu</code>或其他<code>Linux</code>上可能不同。在</p>
<hr/>
<p>你需要一些东西:</p>
<ol>
<li><p>脚本必须使用<code>sys.argv</code>来获取选定的文件名</p></li>
<li><p>您必须在脚本的第一行添加<code>shebang</code>,这样系统就知道如何使用Python来运行这个脚本</p></li>
</ol>
<pre><code>#!/usr/bin/env python
</code></pre>
<ol start=“3”>
<li>您必须将其设置为可执行的,这样系统将使用<code>shebang</code>来运行它(而且您不必使用<code>python script.py</code>)</li>
</ol>
^{pr2}$
<ol start=“4”>
<li><p>您可以将脚本放在<code>PATH</code>中的文件夹中,这样系统就可以在任何文件夹中运行它,而无需使用脚本的完整路径。在<code>PATH</code>上可以是脚本的文件夹<code>~/bin</code>,所以可以将脚本放在这个文件夹中。</p></li>
<li><p>在文件管理器<code>Nemo/Nautilus/Caja</code>中,您可以右键单击SPE文件以查看菜单-应该有<code>"Open with ... > Other program"</code>,您可以设置脚本。如果您没有将脚本放在<code>PATH</code>的文件夹中,则可以使用完整路径。如果使用不同的文件管理器,则必须搜索类似的选项</p></li>
</ol>
<p><code>Nemo/Nautilus/Caja</code>还使用选定/突出显示的文件名设置变量,这样您就可以一次对所有文件运行脚本。在</p>
<pre><code>CAJA_SCRIPT_NEXT_PANE_SELECTED_URIS
CAJA_SCRIPT_NEXT_PANE_SELECTED_FILE_PATHS
CAJA_SCRIPT_NEXT_PANE_CURRENT_URI
CAJA_SCRIPT_SELECTED_URIS
CAJA_SCRIPT_SELECTED_FILE_PATHS
CAJA_SCRIPT_CURRENT_URI
</code></pre>
<p>在脚本中,它们应该是可用的</p>
<pre><code>import os
print( os.environ['CAJA_SCRIPT_NEXT_PANE_SELECTED_URIS'] )
</code></pre>
<p>或者更安全,如果变量不存在</p>
<pre><code>import os
print( os.environ.get('CAJA_SCRIPT_NEXT_PANE_SELECTED_URIS') )
</code></pre>