python - distutils.util.split_quoted 和 shlex.split 有什么区别
问题描述
python 标准库提供distutils.util.split_quoted
和shlex.split
.
是否有任何情况会distutils.util.split_quoted(s)
给出不同的结果shlex.split(s)
?
解决方案
是的。这些算法不同意空格的定义:shlex
硬编码四个字符' \t\r\n'
,但在正则表达式distutils
中使用。因此,它另外将一些其他字符视为分隔符。string.whitespace
换页:
>>> distutils.util.split_quoted('A\fB')
['A', 'B']
>>> shlex.split('A\fB')
['A\x0cB']
垂直标签:
>>> distutils.util.split_quoted('A\vB')
['A', 'B']
>>> shlex.split('A\vB')
['A\x0bB']
推荐阅读
- maven - 在 Anypoint 平台 (CloudHub) 中使用 Jenkins 部署时出现错误 409 冲突
- sql-server - 如何通过 SQL Server 插入的索引有效地替换长字符串?
- javascript - 如何使用 javascript 或 jquery post 方法从循环中发送变量并使用 php 接收
- r - 如何在 gitbook 风格的 bookdown 中使用 gitbook 插件
- macos - macOS Catalina 内核调试
- matlab - 行向量的连续数字之和并将它们存储在该位置
- python - 为什么当我设置 while var != 0 时循环不会在 0 计数处中断
- reactjs - 承诺链接不返回预期结果
- haskell - 用于 Haskell Stack 项目的 gitlab-CI:如何缓存构建的库?
- r - 从剪贴板复制并转换为逗号分隔的字符串