gpt4 book ai didi

python - 获取文件保存的目录(tkinter filesave 提示)

转载 作者:行者123 更新时间:2023-12-01 01:52:22 29 4
gpt4 key购买 nike

我正在使用tkinter用python制作一个小型GUI,其中一部分是询问用户在哪里保存文件。这是我的代码

from tkinter import *
import tkinter.filedialog as tf
import tkinter
import time

fileName = ""
def save():
myFormats = [
('Text File','*.txt')
]
root = tkinter.Tk()
q = tf.asksaveasfilename(parent=root,filetypes=myFormats ,title="Save the image as...")
print(type(q))
fileName = q
print(fileName)
if len(fileName ) > 0:
print ("Now saving under %s" % fileName)


master = Tk()
Button(master, text='Save file', command=save).grid(row=3, column=1, sticky=W, pady=4)
print(fileName)

mainloop( )
print(fileName)

print(fileName)里面save() ,打印正确的路径,但是,代码末尾的相同语句仅给出 ,它在一开始就被初始化为。我一直在绞尽脑汁试图找出为什么会发生这种情况并找到解决方法。任何帮助都会很棒!

想知道这是否与 volatile 变量有关

提前致谢!

最佳答案

由于作用域规则,save 中的 fileName 变量与全局命名空间中的变量 fileName 不同。如果要引用全局变量,请使用 global 关键字:

def save():
myFormats = [('Text File','*.txt')]
root = tkinter.Tk()
q = tf.asksaveasfilename(parent=root,
filetypes=myFormats,
title="Save the image as...")
global fileName
fileName = q

关于python - 获取文件保存的目录(tkinter filesave 提示),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50583643/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com