我尝试使用另一个帖子的建议来分割数组中的某个字母/数字,例子就是。
loadednames = [i.split(':', 0) for i in loadednames]
我在我的代码中使用了这个,如下所示
checkaccounts = open('accounts.txt', 'r')
loadedcheckaccounts = checkaccounts.read().split('\n')
checkaccounts.close()
print "These are used for a later variable that works.\n"
print loadedcheckaccounts
loadednames = loadedcheckaccounts
loadednames = [i.split(':', 0) for i in loadednames]
print "I need these seperated with the name and then the PW after the :.\n"
print loadednames
我得到的结果是:
['Mike:passwordtest','Helga:testmassword','Dorathy:testwordspass','']
我需要将这些与名称分开,然后在:。
[['Mike:passwordtest'],['Helga:testmassword'],['Dorathy:testwordspass'],['']] 抱歉,该名称没有字符或密码不正确。请再试一次。 请输入名称或输入“创建”以创建新角色。
我需要获取字符串并在以下位置后用密码分隔名称:所以我可以用另一个变量检查名称。感谢您提供任何帮助!
对不起,accounts.txt如下
迈克:passwordtest
海尔格:testmassword
Dorathy:testwordspass
答案 0 :(得分:0)
如果你的结果如下所示;
loadednames=['a:b','c:d']
names = [i.split(':')[0] for i in loadednames]
名称变量将包含[' a',' c']这些是您的名字
答案 1 :(得分:0)
从help(str.split)
如果给出maxsplit,则最多完成maxsplit拆分。如评论中所述,当你真正想要1次拆分时,你做了0次拆分。现在你有一个列表,你想要第一个项目。这可以全部挤压成几行
with open('accounts.txt') as fp:
loadednames = [line.split(':', 1)[0] for line in fp]