Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将多字字符串拆分为两个变量_Python - Fatal编程技术网

Python 将多字字符串拆分为两个变量

Python 将多字字符串拆分为两个变量,python,Python,我有一个文档,其中包含登录详细信息,如“username1、password1、username2、password2等”。有没有办法将它们拆分为两个数组,其中只包含用户名和密码 我试过这样做:usernames,passwords=login.split(“,”),但那只是一个ValueError 对不起,如果这是很明显的事情 更新: login=“username1,password1,username2,password2”您得到的是ValueError,因为login.split()返回

我有一个文档,其中包含登录详细信息,如“username1、password1、username2、password2等”。有没有办法将它们拆分为两个数组,其中只包含用户名和密码

我试过这样做:
usernames,passwords=login.split(“,”)
,但那只是一个
ValueError

对不起,如果这是很明显的事情

更新:


login=“username1,password1,username2,password2”
您得到的是
ValueError
,因为
login.split()
返回包含两个以上元素的列表。
如果您的数据格式为
username,password
,则可以拆分列表,然后对其进行切片:

login = "username1, password1, username2, password2"
data = login.split(",")


usernames = data[::2]
passwords = data[1::2]

我的解决方案适用于列表的偶数和奇数索引。如果是偶数索引,则附加到用户名,如果是奇数索引,则附加到密码

login='username1, password1, username2, password2'
usernames, passwords  = [], []
s = login.split(",")
for i in range(len(s)):
    usernames.append(s[i]) if i%2 == 0 else passwords.append(s[i]) 

我相信您的文件结构如下:

username1, password1, username2, password2 
username3, password3, username4, password4
username5, password5, username6, password6 
username7, password7, username8, password8
那么下面的代码就可以工作了

我还附上了代码的输出


我看不出你的意见。你能展示准确的输入文件格式吗?你能描述一下你想要实现的是什么吗?这很好,登录是一个字符串,里面只有一个逗号。我支持@charinduidrisooriya的评论。这当然可以做到,但如果你能解释一下你更大的目标,我们可能会帮助你以更好的方式实现它。
import csv
list_username=[]
list_pwd=[]
with open("untitled.txt") as f1:
    csvrow=csv.reader(f1,delimiter=",")
    for row in csvrow:
     usernames = row[0] + "," +row[2]
     passwords = row[1] + "," +row[3]   
     list_username.append(usernames)   
     list_pwd.append(passwords)
print(list_username)
print(list_pwd)