[英]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
上可能有所不同。
您只需要幾件事:
腳本必須使用sys.argv
來獲取選定的文件名
您必須在腳本的第一行中添加shebang
,以便系統知道使用Python運行此腳本
#!/usr/bin/env python
shebang
來運行它(並且您不必使用python script.py
) chmod +x script.py
您可以將腳本放在PATH
中的文件夾中,以便系統可以在任何文件夾中運行它而無需使用腳本的完整路徑。 在PATH
可能是腳本的~/bin
文件夾-因此您可以將腳本放在此文件夾中。
在文件管理器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.