文本文件未在'if'语句中创建

时间:2015-02-13 05:02:44

标签: if-statement python-3.x

我正在开发一个能够编写和加载.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)

1 个答案:

答案 0 :(得分:0)

input函数返回一个字符串。由于count是一个字符串,count == 0始终为false。这是因为字符串'0'和数字0不相等。

这里有两种选择。您可以将计数转换为count = int(input('...'))的整数而不触及您的条件,或者您可以将count与字符串表示形式0(count == '0')进行比较。