从文件中拆分字符串,没有空格

时间:2018-03-24 22:43:38

标签: python file variables file-io split

我正在尝试将文件的第一行拆分为3个单独的值,但它给了我一个错误

  

ValueError:没有足够的值来解包(预期3,得1)

#open files
infile = open("milkin.txt","r").readlines()
outfile = open("milkout.txt","w")


#instantiate variables
a,b,c = infile[0].split()

milkin.txt

abc
def
ghi

1 个答案:

答案 0 :(得分:2)

首先,如果没有指定参数,split()默认使用空格。

>>> 'abc'.split()
['abc']

幸运的是,要将字符串解压缩为多个值,您不需要split()字符串。由于字符串本身是可迭代的,因此您可以解压缩多个值,只要您可以确保字符串的长度与声明变量的数量匹配。

>>> a, b, c = 'abc'
>>> a
'a'
>>> b
'b'
>>> c
'c'

此外,文件对象的readlines()方法返回包含尾随换行符的字符串列表,因此您可能认为'abc'处的字符串infile[0]确实是'abc\n'

这应该有效:

a, b, c = infile[0].strip()