每当我运行python脚本时,最后也会打印一个新行。
我能阻止这种情况的唯一方法是在末尾使用posix._exit(0)来避免Python的清理代码。有更便携的方式吗?
(对不起,如果这是一个重复的问题/似乎很明显可以回答。不幸的是,我只看到有关没有换行的打印问题)
示例脚本:
import os
#nothing actually done
非便携式解决方案:
import os,posix
#nothing actually done
posix._exit()
操作系统:Windows 经测试:cygwin中的Python,原生PyPy
答案 0 :(得分:2)
此脚本可以执行您想要的操作:
import sys
sys.stdout.write("Hello world")
诀窍是避免使用内置的print
语句。
答案 1 :(得分:2)
你所描述的不是正常的python行为,所以你的设置可能有些奇怪。尝试通过剥离python做的事情来调试它:用-E
(忽略环境选项)和/或-S
调用python(不要加载site
)。如果这没有帮助,请查看其他想法的python调用选项,或尝试使用调试器。
从posix._exit(0)
开始,有些东西(在site
?中)可能会设置一个生成换行符的退出处理程序。查看sys.exitfunc
和模块atexit
,并检查它们是否正在使用中。