在ubuntu中双击文件时如何在文件上执行python脚本

2024-09-30 12:15:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以打开一个特定的python脚本。它是一个SPE文件,使用spe2py库(https://pypi.org/project/spe2py/)打开。 我想,当我双击一个类似的文件时,启动脚本,将我单击的文件的路径传递给它。通过这种方式,我的脚本可以显示该文件的内容。我怎么能做到呢? 我用的是Linux,ubuntu18.04。在

谢谢


Tags: 文件httpsorg路径project脚本pypi内容
2条回答

我使用基于UbuntuLinux Mint,但它使用MATE(桌面环境)和文件管理器Caja(以前是{}),所以最后一点(5)在Ubuntu或其他Linux上可能不同。在


你需要一些东西:

  1. 脚本必须使用sys.argv来获取选定的文件名

  2. 您必须在脚本的第一行添加shebang,这样系统就知道如何使用Python来运行这个脚本

#!/usr/bin/env python
  1. 您必须将其设置为可执行的,这样系统将使用shebang来运行它(而且您不必使用python script.py
^{pr2}$
  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脚本:

Blockquote

#!/bin/sh
python3 python_script.py

以.sh扩展名保存此文本文件

相关问题 更多 >

    热门问题