python - 使用格式化字符串打印时出现奇怪的 %

标签 python

我正在尝试使用格式化字符串向 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/

相关文章:

python - python 会检测无用的代码片段吗? (消除死代码)

Python 图形结构和令人惊讶的列表处理

python - 我的准确度是 0.0,我不知道为什么?

python - 如何更优雅地构造一个 2 的幂数的 numpy 数组?

python - 我可以制作一个脚本来打开终端并运行 .py 吗?

python - 如何找到pandas数据框中最长的连续值字符串

python - 如何使用 python 脚本控制 docker

python - 使用 pandas GroupBy 检查组中的所有元素是否相等

python - 在 Python 和 Selenium WebDriver 中打开受密码保护的页面

python - 如何使用 scipy.interpolate.interp1d 使用相同的 X 数组对多个 Y 数组进行插值?