python 以逗号分割,忽略引号内的逗号的代码介绍

发布时间:2019-10-31编辑:脚本学堂
python 以逗号分割,忽略引号内的逗号,加posix=True 和不加posix=True 有区别。

python 以逗号分割,忽略引号内的逗号,加posix=True 和不加posix=True 有区别。

下面的三段代码,前两个是加和不加posix=True的对比,最后一个例子是以空格分割语句的例子lex.quotes = '"' 去掉效果一样。
代码1:
 

复制代码 代码如下:
import shlex
str=shlex.shlex("ab,'cdsfd,sfsd',ewewq,5654",posix=True)
str.whitespace=','
str.whitesapce_split=True
b=list(str)
print  b
 
['ab', 'cdsfd,sfsd', 'ewewq', '5654']

代码2:
 

复制代码 代码如下:

import shlex
str=shlex.shlex("ab,'cdsfd,sfsd',ewewq,5654")
str.whitespace=','
str.whitesapce_split=True
b=list(str)
print b

['ab', "'cdsfd,sfsd'", 'ewewq', '5654']

代码3:
 

复制代码 代码如下:
import shlex
lex = shlex.shlex('''This string has "some double quotes" and 'some single quotes'.''')
lex.quotes = '"'
lex.whitespace_split = True
b=list(lex)
 
['This', 'string', 'has', '"some double quotes"', 'and', "'some", 'single', "quotes'."]