Как я могу сделать так, чтобы файл открывался при нажатии на него

#python #pygtk

#python #pygtk

Вопрос:

 import pygtk
pygtk.require('2.0')

import gtk

# Check for new pygtk: this is new class in PyGtk 2.4
if gtk.pygtk_version < (2,3,90):
   print "PyGtk 2.3.90 or later required for this example"
   raise SystemExit

dialog = gtk.FileChooserDialog("Open..",
                               None,
                               gtk.FILE_CHOOSER_ACTION_OPEN,
                               (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
                                gtk.STOCK_OPEN, gtk.RESPONSE_OK))
dialog.set_default_response(gtk.RESPONSE_OK)

filter = gtk.FileFilter()
filter.set_name("All files")
filter.add_pattern("*")
dialog.add_filter(filter)

filter = gtk.FileFilter()
filter.set_name("Images")
filter.add_mime_type("image/png")
filter.add_mime_type("image/jpeg")
filter.add_mime_type("image/gif")
filter.add_pattern("*.png")
filter.add_pattern("*.jpg")
filter.add_pattern("*.gif")
filter.add_pattern("*.tif")
filter.add_pattern("*.xpm")
dialog.add_filter(filter)

response = dialog.run()
if response == gtk.RESPONSE_OK:
    print dialog.get_filename(), 'selected'
elif response == gtk.RESPONSE_CANCEL:
    print 'Closed, no files selected'
dialog.destroy()
  

Комментарии:

1. open(dialog.get_filename()) ?

2. Что вы подразумеваете под «открыть»? Вы хотите открыть его в любой программе, которую пользователь связал с этим расширением файла? Или вы хотите открыть его на Python и манипулировать программно?

3. откройте файл в терминале в vi

Ответ №1:

Это, конечно, только для Linux:

 import subprocess

subprocess.call(['/usr/bin/terminal','-x','/usr/bin/vim', dialog.get_filename()])