我想在一个名为inv.data的文件中保存一些字符串。每次我写一个特殊的命令,我想在文件中保存一个字符串。该字符串应始终位于文件的最后一行。 我读了一些关于追加的内容,所以我尝试做了类似的事情:
#Open and close the inventroy file
fileOpen = open('inv.data', 'a')
fileOpen.write(argOne)
fileOpen.close()
fileOpen = open('inv.data', 'r')
savedData = fileOpen.read().splitlines()
fileOpen.close()
这在我第一次想要在运行时添加内容时工作正常,但是当我尝试添加第二个字符串时,它看起来像这样:
sword
axe
shield
bow
flower
monsterLol
怪物是第一次添加,而Lol是我添加的第二件事。 我错过了什么?我是否需要指定每次都应该转到新行?
答案 0 :(得分:4)
未添加新行,因此下一个条目将附加在同一行中。你可以按照以下方式纠正这个问题:
>>> def checker(checks, value):
... return all(any(check(r) for r in value) for check in checks)
...
>>> checks = [str.isalnum, str.isalpha, str.isdigit, str.islower, str.isupper]
>>> checker(checks, 'abcdef123ABC')
True
>>> checker(checks, 'abcdef123')
False
>>>
这样您就不必修改输入参数的方式。