簡體   English   中英

在ubuntu中雙擊文件時如何在文件上執行python腳本

[英]How to execute a python script over a file when double clicking on it in ubuntu

我有一個可以打開特定類型文件的python腳本。 這是一個SPE文件,使用spe2py庫( https://pypi.org/project/spe2py/ )打開。 我想,當我雙擊該類型的文件,以啟動傳遞給它,我點擊文件的路徑腳本。 這樣一來我的腳本可以顯示文件的內容。 我該怎么做? 我正在使用Linux,Ubuntu 18.04。

謝謝,

我使用基於Ubuntu Linux Mint ,但它使用帶有文件管理器Caja (以前為Nemo/Nautilus )的MATE (桌面環境),因此最后一點(5)在Ubuntu或其他Linux上可能有所不同。


您只需要幾件事:

  1. 腳本必須使用sys.argv來獲取選定的文件名

  2. 您必須在腳本的第一行中添加shebang ,以便系統知道使用Python運行此腳本

#!/usr/bin/env python
  1. 您必須將其設置為可執行文件,以便系統將使用shebang來運行它(並且您不必使用python script.py
chmod +x script.py
  1. 您可以將腳本放在PATH中的文件夾中,以便系統可以在任何文件夾中運行它而無需使用腳本的完整路徑。 PATH可能是腳本的~/bin文件夾-因此您可以將腳本放在此文件夾中。

  2. 在文件管理器Nemo/Nautilus/Caja您可以右鍵單擊SPE文件以查看菜單-應該有"Open with ... > Other program"然后可以設置腳本。 如果未將腳本從PATH放入文件夾,則可以使用完整路徑。 如果使用其他文件管理器,則必須搜索類似的選項

Nemo/Nautilus/Caja還將設置具有選定/突出顯示文件名稱的變量,因此您可以一次對所有文件運行腳本。

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

在腳本中它們應該可用

import os

print( os.environ['CAJA_SCRIPT_NEXT_PANE_SELECTED_URIS'] )

如果不存在變量則更安全

import os

print( os.environ.get('CAJA_SCRIPT_NEXT_PANE_SELECTED_URIS') )

我建議您使用bash腳本程序運行python腳本。

您可以像這樣制作bash腳本:

塊引用

#!/bin/sh
python3 python_script.py

使用.sh擴展名保存此文本文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM