Python:如何使变量成为另一个变量和字符串的混合?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python:如何使变量成为另一个变量和字符串的混合?相关的知识,希望对你有一定的参考价值。

我正在python中编写一种编码语言,我希望人们能够将他们的代码保存在具有自己文件名的文件中。

我已经尝试过编码但它不断出现错误: TypeError: unsupported operand type(s) for +: 'NoneType' and 'str' 这是我目前的代码:

import os

root = Tk()

def save_name():
    global file_title
    save_namewindow = Toplevel(root)
    save_namewindow.title("Save")
    Label(save_namewindow, text="Name the File").pack()
    file_title = Entry(save_namewindow).pack()
    Button(save_namewindow, text="Save", command=save).pack()

def save():
   file_name = (file_title + ".txt")
   if os.path.isfile(file_name):
       if messagebox.askyesno("File Exists", "Would you like to overwrite the existing file '" + file_name + "'?"):
         os.remove(file_name)
         file = open(file_name, "x")
         file.write(shell.get("1.0", END))
         file.close()
   else:
     file = open(file_name, "x")
     file.write(shell.get("1.0", END))
     file.close()

我希望答案是:file_name = file_title + '.txt'以正确的方式。提前致谢。

答案

我看到代码中有两个错误

第一:

file_title = Entry(save_namewindow).pack()

它将None分配给file_title,因为pack()返回None。 所以你无法访问Entry。 你必须分两步完成

file_title = Entry(save_namewindow)
file_title.pack()

现在你可以访问Entry了。

第二:

要从Entry获取文本,您必须使用.get()。这意味着file_title.get()

所以你需要

file_name = file_title.get() + ".txt"

以上是关于Python:如何使变量成为另一个变量和字符串的混合?的主要内容,如果未能解决你的问题,请参考以下文章

如何使 pr 受让人成为适当的环境变量?

如何使变量在 Python(和 Qt)中的函数之外可用

即使将输入变量分配给另一个变量,python如何更改函数中输入变量的值? [复制]

如何使存储在 svg 图片的填充字段中的颜色成为变量?

如何使变量唯一?

调用 $.get 方法时如何使 javascript 变量成为全局变量? [复制]