我正在尝试使用格式化字符串向 sys.stderr 打印一条消息,但最后我得到了一个神秘的 %。
如果我写:
sys.stderr.write("One argument (file name) expected, got %d" % (len(sys.argv) -1))
我得到的输出是:
需要一个参数(文件名),得到 0%
如果我用打印函数替换它,它会按预期运行。此外,% 具有白色背景,因此它可能是我的 shell 无法识别的字符。
最佳答案
%
可能是缺少换行符的 zsh
shell 标记输出。
print
添加一个换行符,使用sys.stderr.write()
时手动添加一个:
sys.stderr.write("One argument (file name) expected, got %d\n" % (len(sys.argv) -1))
关于python - 使用格式化字符串打印时出现奇怪的 %,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25748589/