- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想看看 shlex
对于我正在尝试构建的东西来说是一个不错的选择,所以我想我会把它放在 debug mode 中玩弄它。只有 shlex 的构造函数有这个 weird thing it does : 它将 self.debug
设置为 0
然后立即检查它是否为真。
…
self.debug = 0
self.token = ''
self.filestack = deque()
self.source = None
if self.debug:
print 'shlex: reading from %s, line %d' \
% (self.instream, self.lineno)
我知道 Python 有一些强大的元编程功能,但我无法弄清楚它是如何工作的——即使我重写了构造函数,也没有编程方式来介于值的设置和它的使用之间。
是否应该有一种方法可以在 if self.debug
条件下输出语句(如果是,如何?),这是一个错误,还是我还没有第三种可能性不考虑吗?
最佳答案
首先,我很确定你已经发现了一个错误,你应该 go report it . (你应该确保它仍然存在于 the latest 3.x code 中,但我刚刚检查过,它是。)我没有看到任何关于 shlex
对象不允许你设置 debug 的不合理之处=1
直到它们被初始化......但在那种情况下,它们不应该在初始化程序中检查 self.debug
,因为它无法被设置。
但这并不是一个很难解决的错误。您唯一会以这种方式丢失的是第一条消息,它只打印出您可以自己打印的公共(public)属性。所以,例如:
class debugging_shlex(shlex):
def __init__(self, *args, **kwargs):
# shlex is an old-style class in 2.7, so no super
shlex.__init__(self, *args, **kwargs)
self.debug = 1
print('shlex: reading from %s, line %d' \
% (self.instream, self.lineno))
错误报告的更多信息:
debug
参数没有单元测试(这并不奇怪,因为它几乎没有记录,只是说“如果你想使用它,请阅读源代码”……但你可能想添加反正有一些)。关于python - 将 shlex 置于 Debug模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29996208/
sample = ",," values = shlex.shlex(sample, posix=True) values.quotes = '"' values.whitespace = ',' v
感谢 shlex 这种字符串,我想拆分: str = 'This doesn''t work' 54e+5 15 .FALSE. 'Another example of "test"' 预期结果: 这
我将 Popen 与 shlex 一起用于 yum 命令,并使用 --exclude 标志来传递要排除的软件包列表。由于某种原因,shlex 似乎没有保留双引号。有什么指示我该怎么做吗? >>> im
我需要将一系列字符串拆分为由空格表示的 3 个组成部分。这些字符串有时包含子列表,但始终作为字符串的最后一个组成部分。 我之前使用 Shlex 取得了巨大的成功,但我不再获得所需的结果,因为我最近的子
这个简单的代码: s = "it's a nice day..." s = shlex.split(s) 将导致 ValueError: No closing quotation错误: Traceba
我正在使用 shlex 解析 csv 文件,并且需要保留连续的空白字符,如下所示... line = 'a, b, "c, z",,,d,e,f' spltr = shlex.shlex(line)
我有以下文字: 'sudo -S java -cp spinn3r-client-3.4.06.jar com.spinn3r.api.Main --vendor=test --remote-filt
这个问题已经有答案了: How do I use subprocess.Popen to connect multiple processes by pipes? (9 个回答) 已关闭 7 年前。
如何使用 Python 的 shlex 拆分字符串,同时保留 shlex 拆分的引号字符? 示例输入: Two Words "A Multi-line comment." 期望的输出: ['Two'
语言:Python v2.6.2 操作系统:AIX 5.3 我正在使用 Python 将一些文件从备份恢复到测试系统 - 所有命令都以下面的方式调用,但有些命令根本不想工作。 #!/usr/bin/p
在 Python 中,如何使用 shlex.split() 或类似的方法来拆分字符串,只保留双引号?例如,如果输入是 "hello, world"is what 'i say' 那么输出将是 ["he
如何反转 shlex.split 的结果?也就是说,我怎样才能获得一个带引号的字符串 "resemble that of a Unix shell" ,给定一个我希望引用的字符串的 list? 更新0
如何在使用 shlex.split() 时保留“带空格的值”周围的引号? s = "SOME_VAR=\"value with spaces\" VAR2=value2" shlex.split(s)
是否有 Java 的 shlex 替代品?我希望能够像 shell 处理它们一样拆分引号分隔的字符串。例如,如果我发送: one two "three four"并执行拆分,我想收到 token on
我想看看 shlex对于我正在尝试构建的东西来说是一个不错的选择,所以我想我会把它放在 debug mode 中玩弄它。只有 shlex 的构造函数有这个 weird thing it does :
根据文档,在 Python 2.7.3 中,shlex 应该支持 UNICODE。但是,当运行下面的代码时,我得到:UnicodeEncodeError: 'ascii' codec can't en
Python 的标准库有一个 shlex.quote函数接受一个字符串并返回一个保证被 Unix shell 解释为相同字符串的函数。这是通过将字符串放在单引号中并转义出现在其中的任何单引号字符来实现
我想拆分ascii文本 1 'K\^o, Suk\'e' 打印为 Python 字符串 line = "1 'K\\^o, Suk\\'e'\n" 进入 ['1', 'K\\^o, Suk\\'e']
我将如何在 Node.js 中执行以下操作?我意识到可能没有内置功能或为此编写的模块,那么我该如何实现呢? >>> import shlex >>> shlex.split("-a arga -b \
我需要在 elisp 中解析命令行,例如: (shlex-split "command \"Some file with spaces\" someother\ quote") ;;That give
我是一名优秀的程序员,十分优秀!