我是我的python GUI,我创建了一个问卷。在此,它允许我提问,然后将它们保存到文本文件中。我使用变量将它们保存到文本文件中,因此每个文件都不同。 E.G。
name = james(该文件将被称为james)
...或
name = Charlie(该文件将被称为Charlie)
我可以写入并保存到文本文件中。我需要做的是找到一种方法来使用变量打开文本文件。这将允许我输入一个名称,例如" James"我可以打开名为James的文件。
这是我目前的代码。
name = entry.get()
# this collects the name from an entry box.
newfile = (name.txt,"r")
# name is the variable I am using.
loaded = (newfile.read())
# this would hopefully put the file text into a variable
textbox.delete(0.0, END)
# this will clear the text box
textbox.insert(END, loaded)
# this put the text from the file (in loaded) into the text box
有没有办法允许我这样做?我希望这是有道理的。谢谢所有帮助的人。
答案 0 :(得分:3)
首先,你不是在任何地方调用open
。只是写一下,例如,(path, "r")
没有给你一个文件对象,它只给你一个两个字符串的元组。
其次,文字字符串必须在引号中。如果你想连接两个字符串,那么它们是变量还是文字并不重要,只是+
。
所以:
newpath = name + ".txt"
newfile = open(newpath, "r")
此外,当你在它的时候,你应该close
某个地方的文件。理想情况下使用with
语句:
newpath = name + ".txt"
with open(newpath, "r") as newfile:
loaded = newfile.read()