如何在不同的python tkinter按钮事件操作之间使用变量?
我正在编写一个python程序,为输入文件和输出目录获取用户输入,然后使用子流程模块获取输入文件的dd图像。我已经编写了以下代码。我无法在一个def或其他def部分中使用变量。请帮我解决这个问题,因为我是Python新手如何在不同的python tkinter按钮事件操作之间使用变量?,python,tkinter,subprocess,dd,Python,Tkinter,Subprocess,Dd,我正在编写一个python程序,为输入文件和输出目录获取用户输入,然后使用子流程模块获取输入文件的dd图像。我已经编写了以下代码。我无法在一个def或其他def部分中使用变量。请帮我解决这个问题,因为我是Python新手 def open_dir(): o_file = subprocess.call(["zenity","--file-selection","--directory","--title=Select Destination Directory"]) o_var
def open_dir():
o_file = subprocess.call(["zenity","--file-selection","--directory","--title=Select Destination Directory"])
o_var = StringVar()
o_var.set(o_file)
def quit_root():
root.destroy()
def get_input():
msg1 = subprocess.call(["df","-h"])
msg2 = StringVar()
msg2.set(msg1)
msg = Message(labelframe, textvariable=msg1)
msg.pack()
in_file=subprocess.check_output(["zenity","--entry"])
var=StringVar()
var.set(in_file)
def dev_img():
global var
global o_var
input_file=var
output_file=o_var+"device.img"
out = subprocess.check_output(["dd","if="+input_file,"|pv|","of="+output_file,"bs=1024"], stderr=subprocess.STDOUT)
var1 = StringVar()
var1.set(out)
label1 = Message(labelframe, textvariable=var1)
label1.pack()
请给我一些建议,这样我就可以使用open_dir()中的'var'和'o_var'变量,获取_input(),并在dev_img()中使用这些变量。我想我知道你想问什么。如何将输出变量从一个函数“继承”到另一个函数?为此,您需要使用类。Python是完全面向对象的,因此它的工作方式允许对象彼此交互 查看此链接: 本教程将允许您创建一个类,该类允许您在定义的任何函数中使用var和var_o
希望这有帮助 您可以将参数传递给函数,并从中返回(多个)值……但我使用的是Tkinter按钮中的命令选项。我如何将参数传递给它?我只想使用其他两种方法中使用的变量。那么,我能不能将它们返回到一些变量中呢?因为你没有确切地指定你在做什么以及你需要什么帮助。将以上内容简化为一个实际演示您的问题的例子。在函数之外定义
o_var
open_dir()
(使其全局化),然后使用open_dir(o_var)
或o_var.set(open_dir())
和返回o_文件