文本文件未在“if”语句中创建

Text File not Created in ' if ' Statement

我正在开发一个能够写入和加载 .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函数returns一个字符串。由于 count 是一个字符串,因此 count == 0 始终为假。这是因为字符串'0'和数字0不相等。

这里有两种选择。您可以使用 count = int(input('...')) 将计数转换为整数而不触及您的条件,或者您可以将计数与 0 (count == '0').

的字符串表示形式进行比较