If statement 未在'中创建文本文件;如果';陈述

If statement 未在'中创建文本文件;如果';陈述,if-statement,python-3.x,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_li

我正在编写一个小程序,能够编写和加载.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)

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

你有两个选择。您可以使用
count=int(输入(“…”)
将计数转换为整数,并且不接触您的条件,或者可以将计数与字符串表示形式0进行比较(
count==“0”