Python_shlex_使用类似 shell 的语法拆分字符串 *s*

 

import shlex
s = "I am Bill"
ret = shlex.split(s)
print(ret)

# 同时可以用来去除字符串中的单双引号
s = "test '1234'"
ret = shlex.split(s)
print(ret)
# 单双引号在中间也会被出掉
s = 'test "223"4'
ret = shlex.split(s)
print(ret)

# 需要注意的是,若字符串成对单双引号有空格,是不会分割的
s = 'test "2234 323"4'
ret = shlex.split(s)
print(ret)

# 需要注意的是,若字符串中的单双引号不是成对出现会报错:No closing quotation
try:
    s = 'test "2234'
    ret = shlex.split(s)
    print(ret)
except ValueError as e:
    print("出错了", e)

执行结果

 

posted @ 2019-06-30 20:44  码上测  阅读(2049)  评论(0编辑  收藏  举报