代码:
date=int(raw_input("Date:"))
ammount=int(raw_input("Ammount:"))
desc=str(raw_input("Description:"))
account=str(raw_input("Account:"))
def addEntry(date, ammount, desc, account):
transact=open("transactions.txt", "w")
transact.write(date, ammount, desc, account)
transact.close()
addEntry(date, ammount, desc, account)
给出
Traceback (most recent call last):
File "C:\tbank.py", line 11, in <module>
addEntry(date, ammount, desc, account)
File "C:\tbank.py", line 8, in addEntry
transact.write(date, ammount, desc, account)
TypeError: function takes exactly 1 argument (4 given)
我怎样才能让它发挥作用?
答案 0 :(得分:1)
date=int(raw_input("Date:"))
ammount=int(raw_input("Ammount:"))
desc=str(raw_input("Description:"))
account=str(raw_input("Account:"))
def addEntry(date, ammount, desc, account):
transact=open("transactions.txt", "w")
transact.write('%s, %s, %s , %s' % (date, ammount, desc, account))
transact.close()
addEntry(date, ammount, desc, account)
答案 1 :(得分:0)
您正在打开要写入的文件。它需要一个字符串作为参数。
transact.write("your string")
因为您所做的只是写入文件。你可以避免转换。 raw_input返回一个字符串。
date=raw_input("Date:")
amount =raw_input("Ammount:")
desc=raw_input("Description:")
account=raw_input("Account:")
在将其写入文件
之前,您可以将它们全部添加为一个字符串答案 2 :(得分:0)
正如其他人所说,你必须传递write
一个字符串参数。还有另一种方法可以将内容写入应该提及的开放文件:print
的特殊形式
print >>transact, date, amount, desc, account
这会指示打印输出到紧跟在'&gt;&gt;'之后的文件 它的行为与print通常的行为完全相同,因此它会写出由空格分隔的所有值,并在末尾添加换行符(可以通过添加尾随逗号来抑制)。