如何通过单击 Python 3 中的按钮打开文件

Posted

技术标签:

【中文标题】如何通过单击 Python 3 中的按钮打开文件【英文标题】:How to open a file by clicking a button in Python 3 【发布时间】:2014-08-19 05:44:01 【问题描述】:

我想通过单击菜单栏上的按钮来打开一个文件(html Web 文档)。我正在使用 Python 3.4 和 Windows 7 64 位。我该怎么做呢?

HTML 文档保存在我的电脑上,我想从我的电脑上打开它。

【问题讨论】:

您可以使用webbrowser 模块在浏览器中打开页面。如何将它连接到菜单栏取决于您使用的 GUI 框架... 我正在使用 Tkinter,但我只想让它在任何浏览器中打开 .html 文件,默认设置在用户的计算机上 - 可能是 Google Chrome、Mozilla Firefox 或 Internet Explorer . 【参考方案1】:

要在 Python 中创建按钮,请使用 Tkinter 小部件。

import Tkinter
import tkMessageBox

top = Tkinter.Tk()
def helloCallBack():
tkMessageBox.showinfo( "Hello Python", "Hello World")
B = Tkinter.Button(top, text ="Hello", command = helloCallBack)
B.pack()
top.mainloop()

【讨论】:

【参考方案2】:

我不知道 Tkinter 中按钮的事件处理程序是如何工作的,但是打开 html 链接或文件的 python 命令是:

import webbrowser
webbrowser.open(file_path)

这会在默认浏览器中打开链接或文件。 这是documentation。

【讨论】:

【参考方案3】:

好吧,您可以在菜单栏上的该按钮上设置一个事件处理程序,调用这样的函数..

from tkinter import filedialog as fd, messagebox as mb
from webbrowser import open as openlink

def openHTML(file = None):
    if file is None: # browse file in filedialog
        file = fd.askopenfilename(filetypes=(("All Files", "*.*"), ("HTML Documents", "*.html;*.htm"))
    if not file: # if the user didn't cancel
        return
    try: # trying to access the file, if it isn't encrypted or something ..
        open(file, 'r')
    except EnvironmentError as e:
        mb.showerror(title = 'Something isn\'t good ..', detail = e.message)
        return
    openlink(file) # finally, opening the document

【讨论】:

以上是关于如何通过单击 Python 3 中的按钮打开文件的主要内容,如果未能解决你的问题,请参考以下文章

如何直接在网页中打开文件 不出现下载保存提示框!

dwg文件怎么打开 cad编辑器如何修改dwg文件

单击python kivy中的按钮后如何打开弹出窗口?

为啥网站下载的vpn文件苹果手机打不开

QT excel创建的.xlsx文件打不开

MP3连接到电脑,要打开音乐文件打不开,电脑提示在控制面板中文件夹选项中创建关联,怎么选择呢?