我正在开发一个能够编写和加载.txt文件的小程序。
我遇到一个问题,当我的save()函数处于“if”循环时,不会创建.txt文件。我确实使用过计算机的搜索功能,以防它是在其他地方创建的。不,.txt文件中没有任何内容出现。
为了您的信息,我正在Microsoft Visual Studio 2013(社区)中编码,并使用Windows 8。
以下是代码:
def save (dic, filename):
out_file = open (filename, "wt")
key_list = []
for i in dic.keys():
key_list.append (i)
key_list.sort ()
for i in range(len(key_list)):
key = key_list [i]
out_file.write (key + "," + dic [key] + "\n")
out_file.close ()
filename = "dictionary.txt"
count = input ("Save (0) or Load (1): ")
if count == 0:
dic = {}
dic["1"] = "11"
dic ["2"] = "22"
dic ["3"] = "33"
dic ["4"] = "44"
dic ["5"] = "55"
save (dic, filename)
答案 0 :(得分:0)
input
函数返回一个字符串。由于count是一个字符串,count == 0
始终为false。这是因为字符串'0'
和数字0
不相等。
这里有两种选择。您可以将计数转换为count = int(input('...'))
的整数而不触及您的条件,或者您可以将count与字符串表示形式0(count == '0'
)进行比较。