python 以逗号分割,忽略引号内的逗号
加posix=True 和不加posix=True 有区别
前两个是加和不加posix=True的对比,最后一个例子是以空格分割语句的例子lex.quotes = '"' 去掉效果一样
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import
shlexstr=shlex.shlex("ab,'cdsfd,sfsd',ewewq,5654",posix=True)str.whitespace=','str.whitesapce_split=Trueb=list(str)print
b ['ab',
'cdsfd,sfsd',
'ewewq', '5654'] import
shlexstr=shlex.shlex("ab,'cdsfd,sfsd',ewewq,5654")str.whitespace=','str.whitesapce_split=Trueb=list(str)print
b ['ab',
"'cdsfd,sfsd'",
'ewewq', '5654'] import
shlexlex =
shlex.shlex('''This string has "some double quotes" and 'some single quotes'.''')lex.quotes
= '"'lex.whitespace_split
= Trueb=list(lex) ['This',
'string', 'has',
'"some double quotes"',
'and', "'some", 'single', "quotes'."] |
|
1
|
<span style="font-family:宋体, Arial;line-height:1;white-space:normal;"> </span> |
|
1
|
<span style="color:#333333;font-family:Arial;font-size:14px;line-height:26px;white-space:normal;">在解析命令行参数的时候碰到python字符分割的问题,python中字符串分割默认都是在空格,但是我的参数中可能某个参数带有空格符,同时有双引号包围。</span> |
|
1
2
3
4
5
|
<span style="font-family:宋体, Arial;line-height:1;white-space:normal;"> <p style="color:#333333;font-family:Arial;font-size:14px;line-height:26px;white-space:normal;background-color:#FFFFFF;"> 最近的python中引入了支持正则分割的shlex模块,他能很好的处理空格符的问题。如下 </p></span> |
|
1
|
<span style="font-family:宋体, Arial;line-height:1;white-space:normal;">>>>
import shlex</span> |
|
1
2
|
>>> shlex.split('this is "a test"')['this',
'is', 'a test'] |
转自:http://blog.chinaunix.net/uid-200142-id-3482629.html
本文介绍Python中shlex模块的使用方法,特别是如何处理包含特殊字符的字符串分割问题,通过实例展示了如何配置shlex以正确解析带引号及空格的参数。

2524

被折叠的 条评论
为什么被折叠?



