python - python 2.5 中的前向兼容打印语句

标签 python printing stdout

好吧,也许我只是休息一天。这似乎是很多人都在问的问题,但谷歌让我非常失望。我找到的最接近的是 this这并没有完全解决这个问题。

在工作中,我在桌面上运行 Arch(默认情况下是 python 3),在我公司的服务器上运行 Debian Lenny(默认是 python 2.5)。我想编写一个可以在 python 2 和 3 中运行的 python 脚本。这是一个非常简单的脚本,没有太多内容(主要是它只是使用 subprocess 调用 git)。除了该死的 print 语句外,所有的东西都已经在两个版本的 python 中工作了。

似乎每个人都建议使用 from __future__ import print_function 技巧。然而,这是在 python 2.6 中引入的,我坚持使用 2.5。

那么我的选择是什么?如何使用相同的脚本在 2.5 和 3 中调用 print?我在想也许是某种包装函数,但这可能不是最“pythonic”的做事方式。你的想法?不,将服务器升级到 2.6 不是一种选择。

谢谢!

最佳答案

print("hi") 在 py 2 和 3 上都可以工作,而在 py 2.5 中没有 from __future__

或者,尽管不推荐:

import sys
sys.stdout.write("hi")

关于python - python 2.5 中的前向兼容打印语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6361330/

相关文章:

python - 在输入提示符下测试 python stdout

Linux:用列格式化流(管道)输出? (未确定的文件大小)

c - 意外输入 62;9;c62;9;c62;9;c62;9;c 在将缓冲区写入标准输出后出现在 shell 中

python - 如何测试 PyObject 是否有迭代器

python - 逆 (CDF) 变换采样的错误分布

php - PHP 可以做类似 p($i) 的事情并打印 "$i is 5"—— C 和 Ruby 可以……(也就是说,自动打印出 "$i")

c# - 使用 Excel Interop 并获取打印对话框

javascript - 重用javascript代码的Django最佳实践

python - 从字符串列表创建 Pandas 数据框

c# - 仅在第一次打印时出现 Hardmargin 的奇怪打印问题 (WinForms)