python - 试图将用户输入的变量添加到不同文件中的现有列表中?
问题描述
我正在尝试为我正在制作的游戏创建一个永久帐户,这需要您在玩游戏之前创建一个帐户。我试图弄清楚如何添加它,这是我设法将它添加到文件中最接近的方法。发生的情况是它要求用户输入他们的姓名,然后将其保存到我的 variables.py 第一行的列表中,这就是我试图做的
elif menu == '3':
enterUsername = input('Please Enter A New Username')
with open('variables.py', 'a') as text_file:
print ("{}".format(enterUsername)[0], file=text_file)
continue
不幸的是,这似乎不起作用,它将名称添加到文件的底部。列表中已经存在名称,因此我想添加它例如
主文件
用户输入 = "TestUserName"
变量.py
authUsers = ['大卫','约翰','阿里','TestUserName']
我还尝试将第 4 行的 [0] 更改为 [authUsers],但它返回一个错误,指出它只能是整数。除此之外,我还阅读了这里的文档https://developers.google.com/edu/python/lists。如果有人可以提供帮助,谢谢!
解决方案
创建一些函数来访问您的用户文件:
def addUser(fn, user):
"""Append user to file fn."""
with open(fn,"a") as f:
f.write(user+"\n")
def getAllUsers(fn):
"""Read file fn, return all users."""
with open(fn,"r") as f:
users=[x.strip() for x in f.readlines() if x.strip()]
return users
filename = "user.txt"
u = getAllUsers(filename);
print(u) # []
# add some users
addUser(filename,"John")
addUser(filename,"Mike")
addUser(filename,"Melitta")
u = getAllUsers(filename)
print(u) # ['John', 'Mike', 'Melitta']
本质上,您不会修改您的 python 源代码,而是创建一个包含用户的配置文件,您可以将其读入 python 列表并进行处理/检查。
配置文件仅在一行中包含每个用户,并且可以再次读入您的程序。
该文件如下所示:
John
Mike
Melitta
(每个名称,后跟一个 \n)。
推荐阅读
- assembly - mips 汇编中的判别式和根
- c# - 如何将子属性绑定到父属性的修改值,例如高度或宽度?
- react-native - 为什么堆栈导航不适用于这些屏幕?
- python - Collections.deque() EOFError: 读取一行时出现 EOF
- python - 如何使用networkx获得对偶图?
- javascript - Datables serverSide ajax POST 'error':“int() 参数必须是字符串、类似字节的对象或数字,而不是 'NoneType'”
- javascript - 如何在 React 中使用 getElementById?
- javascript - 如何在反应js中有时间延迟的循环内设置状态
- xml - XML XPath 过滤器 Wordpress WPALLIMPORT
- doubly-linked-list - 如何在不重复的情况下在双向链表中插入元素?