【问题标题】:Open File with Python用 Python 打开文件
【发布时间】:2010-07-03 20:28:39
【问题描述】:

我正在编写一个 tkinter 程序,它是一种类似于投资组合的程序,它可以打开其他也用 python 编写的程序。因此,例如,我有 FILE_1 和 FILE_2,我想编写一个程序,该程序一旦单击某个按钮就会打开 FILE_1 或 FILE_2。我不需要关于按钮外观的帮助,只是如何编写打开程序的功能

这是我使用的代码:

from Tkinter import *
import subprocess

master = Tk()

def z():
    p=subprocess.Popen('test1.py')
    p.communicate()


b = Button(master, text="OK", command=z)
b.pack()



mainloop()

【问题讨论】:

    标签: python file-io tkinter popen


    【解决方案1】:

    将按钮与调用subprocess.Popen的回调挂钩:

    import subprocess
    p=subprocess.Popen('FILE_1.py')
    p.communicate()
    

    这将尝试运行 FILE_1.py 作为一个单独的进程。 p.communicate() 将导致您的主程序等到 FILE_1.py 退出。

    【讨论】:

    • 谢谢,但如果我希望它有两个按钮,它们不是都打开同一个文件,还是有办法区分文件?
    • @Matthew:每个按钮都可以连接到自己的回调函数。因此,按下每个按钮都会调用一个不同的函数,该函数可以运行不同的程序。
    • 并以这种方式在另一个窗口中打开它
    • 我的意思是如果我调用 subprocess.Popen 它将打开 FILE_1 并假设我有另一个名为 G=subprocess.Popen('FILE_2.py') 的函数我会调用 subprocess.G 吗?
    • 使用类似:b = Button(master, text="Run FILE_1", command=file1_callback),单击按钮 b 将导致运行 file1_callback()。见effbot.org/tkinterbook/button.htm
    猜你喜欢
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 2018-12-18
    • 2016-03-27
    相关资源
    最近更新 更多