在python中

时间:2017-04-19 20:07:01

标签: python arrays python-2.7

我尝试使用另一个帖子的建议来分割数组中的某个字母/数字,例子就是。

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',''] 我需要将这些与名称分开,然后在:。

之后使用PW

[['Mike:passwordtest'],['Helga:testmassword'],['Dorathy:testwordspass'],['']] 抱歉,该名称没有字符或密码不正确。请再试一次。 请输入名称或输入“创建”以创建新角色。

我需要获取字符串并在以下位置后用密码分隔名称:所以我可以用另一个变量检查​​名称。感谢您提供任何帮助!

对不起,accounts.txt如下 迈克:passwordtest
海尔格:testmassword
Dorathy:testwordspass

2 个答案:

答案 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]