2017-10-07 111 views
0

好的,所以我想把文件的名字作为python的原始输入,但它不保存到我放入的文件中。尝试保存到文件时没有任何反应? python 2.7

我没有收到错误,它只是不保存我写的文件。 示例我运行代码我选择了我创建的文件并命名为“警察”代码运行并接受输入,但没有任何反应。 该文件仍然是空的。

lista = {"police":"911"} 
functiontext = raw_input("call function 1(save) or 2(load) ") 
arguements = raw_input("input file name ") 

def save(lista,arguments): 
    filen = arguments 
    spara = lista 
    fil = open(filen + ".txt","w") 

    for keys, values in spara.items(): 

      spara_content = keys + ": " + values + "\n" 


      fil.write(spara_content) 
      fil.close() 


def load(lista, arguments): 
    ladda = open("telefonbok.txt","r") 
    for namesandnumbers in ladda: 
     (key, val) = namesandnumbers.split(": ") 
     lista[(key)] = val 
     lista = ladda 
     return lista 

if functiontext == 1: 
    save(lista,arguments) 

if functiontext == 2: 
    load(lista, arguments) 

那么这里有没有人有这个问题的答案?

+0

'arguements'≠'arguments' –

+0

的'结果raw_input'被一个字符串。所以你必须用'if functiontext =='1':'替换'if functiontext == 1:''。 – Matthias

+0

请不要用瑞典语部分编写代码。一路用英语:) –

回答

0

raw_input将返回一个字符串,而您正在检查整数比较。您的文件没有被保存,因为save永远不会被调用。

if functiontext == 1: 
    save(lista,arguments) 

if functiontext == 2: 
    load(lista, arguments) 

应该是:

if functiontext == '1': 
    save(lista, arguments) 

if functiontext == '2': 
    load(lista, arguments) 

注意,你也有一个错字关于 “arguements” 和 “论据”

+0

上帝的大坝,非常明显的感谢。 – noname292123

相关问题