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:如何使变量成为另一个变量和字符串的混合?的主要内容,如果未能解决你的问题,请参考以下文章