在Python中,如何将文件项拆分为字符串列表?

在Python中,如何将文件项拆分为字符串列表?,python,string,list,parsing,line,Python,String,List,Parsing,Line,我有一个文件,每行由两个字符串组成,由变量空间分隔,如下所示: "Doe, Mary" "W 135" 如何将其解析为成对的字符串,[“Doe,Mary”,“W 135”] 现在您可以创建一个对的列表,在for循环中迭代它,不管怎样。@sashkello:这对这个问题没有帮助,因为str.split不会区分引号中的空格和引号中的字符串之间的空格。@abarnert我同意csv模块是一个更好的解决方案,但去掉报价并不是问题。事实上,[s代表“Doe,Mary”“W 135””.split(“”)

我有一个文件,每行由两个字符串组成,由变量空间分隔,如下所示:

"Doe, Mary" "W 135"
如何将其解析为成对的字符串,
[“Doe,Mary”,“W 135”]


现在您可以创建一个
对的列表
,在for循环中迭代它,不管怎样。

@sashkello:这对这个问题没有帮助,因为
str.split
不会区分引号中的空格和引号中的字符串之间的空格。@abarnert我同意
csv
模块是一个更好的解决方案,但去掉报价并不是问题。事实上,
[s代表“Doe,Mary”“W 135””.split(“”)如果s.strip()
应该可以工作,除非其中一行像
“foo””\n
@sashkello:不,这不容易。
str.split
不能在可变长度的模式上分割(除了“任意范围的空格”的特殊情况)。现在,它可以区分引号,除非它们是拆分模式的一部分。因此,使用
str.split
唯一可能的方法是首先拆分单词,然后按引号分组,然后重新加入每组,这远非易事。(@sashkello:当然,
re.split
是另一个可以在可变长度模式上拆分的故事,它立即解决了
str.split
的问题。)另外,两个相当聪明的人经历了许多不同的尝试,他们相信会成功,但他们没有,这证明了这并不容易…@sashkello:同样,没有完成。试一下
“Doe two Space Mary”“W 135”
,看看你得到了什么。你是故意要证明我的观点吗?
with open('file.txt') as f:
    pairs = csv.reader(f, delimiter=' ', skipinitialspace=True)