Python I';我卡住了。我检查了整个代码,无法';我没有发现任何错误
好的,基本上,我正在制作一个程序,允许我列出即将到来的GCSE的修订主题。我的代码如下所示,但是txt文件没有被写入!! 如果有人有时间,如果您能告诉我如何: A) 使“需要另一个主题”问题无限大,直到用户说“n”(否) B) 用相同的名称覆盖现有文件 代码: file.close()文件 打印(“确定!所以,“+subject+”Revision Topics.txt已保存到文档下的GCSE修订文件夹中。\n\n修订成功!”) 结束代码Python I';我卡住了。我检查了整个代码,无法';我没有发现任何错误,python,Python,好的,基本上,我正在制作一个程序,允许我列出即将到来的GCSE的修订主题。我的代码如下所示,但是txt文件没有被写入!! 如果有人有时间,如果您能告诉我如何: A) 使“需要另一个主题”问题无限大,直到用户说“n”(否) B) 用相同的名称覆盖现有文件 代码: file.close()文件 打印(“确定!所以,“+subject+”Revision Topics.txt已保存到文档下的GCSE修订文件夹中。\n\n修订成功!”) 结束代码 非常感谢您的帮助,非常感谢使用循环的魔力来解决您的第一个
非常感谢您的帮助,非常感谢使用循环的魔力来解决您的第一个问题
print("Which subject are we doing today?")
subject = input("Subject: ")
wfile = open(subject + " Revision Topics.txt", "w")
wfile.write("Here are a list of " + subject + " topics that need revising:\n")
print("Got topics to revise?")
choice = input("y or n: ")
topics = []
while (choice != 'n'):
print("Which topic needs revising?")
topic = input()
topics.append(topic)
print("Any more?")
choice = input("y or n: ")
wfile.write('\n'.join(topics))
wfile.close()
print("Ok! So, " + subject + " Revision Topics.txt has been saved to the GCSE Revision folder under Documents.\n\nGood Luck Revising!")
至于你的第二个问题,哪一部分没有写?是否正在创建文件?如果您使用管理员权限运行该怎么办?为了始终确保您的文件正确关闭,最好使用
和open(something)作为名称
:
with open(subject + " Revision Topics.txt", "w") as output_file:
output_file.write("Here are a list of " + subject + " topics that need revising:\n")
while True:
output_file.write(input("Which topic needs revising?") + '\n')
if input("Any more?") != "y":
break
上面的代码将处理文件的打开、写入和关闭-使用此方法,您不必记住关闭文件。这真的是您想要解决的问题的最小示例吗?您确实需要了解循环:)您忘记了
file.close()
。另外,不要调用变量文件
,存在这样一个标准模块,所以你在这里跟踪它。同意@jpw的观点,如果
-树有点糟糕,主要是因为这样的结构非常难读取和调试谢谢@Chuck,我会在CodeCademy上查看它。值得欣赏的传说。非常感谢,@ForceBru解决了第二个问题-忘记提交关闭duhh!我不明白这是怎么回事。当程序退出时,文件肯定会自动关闭吗?@JohnGordon同意,我只是添加了关闭,因为这是标准做法,但我也不能复制这个问题。FreddieWorth,如果我的答案回答了你的问题,请随意选择正确的答案!
with open(subject + " Revision Topics.txt", "w") as output_file:
output_file.write("Here are a list of " + subject + " topics that need revising:\n")
while True:
output_file.write(input("Which topic needs revising?") + '\n')
if input("Any more?") != "y":
break