嗨,我正在用pythontkinter编写一个基本的GUI。我可以让它显示界面,但是当要求我的一个按钮调用子进程时,GUI不会加载,尽管没有报告错误。以下是按钮的代码:
B = Tkinter.Button(root, text ="Reference fasta file", command = openfile).pack()
C = Tkinter.Button(root, text ="SNP file", command = openfile).pack()
D = Tkinter.Button(root, text ="Generate variant fasta(s)", command = subprocess.call(['./myprogram.sh','B','C'],shell=True)).pack()
如果我的代码中没有包含按钮“D”,GUI就会出现。奇怪的是,如果我包含按钮“D”并将一个不存在的文件传递到子流程调用,GUI出现,但我收到一条错误消息,说文件不存在。你知道吗
那么,为什么传递目录中不存在的程序会导致程序不运行,而不传递错误消息呢?你知道吗
非常感谢
作为命令传递的不是函数,而是函数返回的内容(当然可能是函数)。 所以不是:
你应该这样称呼它:
使用
运行
subprocess
,结果被分配给command=
。你知道吗command=
只需要没有()
和参数的函数名(正如ambi所说:pythoncallable
元素)可能
subprocess
正在运行,脚本无法运行其余代码。你知道吗也许你需要
你真的需要子流程吗?你知道吗
相关问题 更多 >
编程相关推荐