在下面的代码中,print语句虽然以逗号结尾以禁止换行打印并且让strip()去掉文件输入行中的换行符仍然产生换行符,如sys.stdout.write()中的那样工作正常,从文件输入中删除尾随的换行符。那么为什么strip()的这种双重行为?或者新版本出现在印刷声明中?
h = open('file')
print h.readline().strip(),
sys.stdout.write(h.readline().strip())
答案 0 :(得分:0)
那么为什么strip()的这种双重行为?
没有“strip()
的双重行为”。无论上下文如何,它的行为都完全相同。
来自打印声明的新行?
您的代码段中的print
语句似乎不会输出新行。如果您正在观察它,它几乎肯定来自其他地方。
但是,确保使用(非交互式)解释器运行脚本。交互式控制台可以不同方式处理print
中的尾随逗号。
答案 1 :(得分:0)
“sys.stdout.write()”仅用于删除字符串中的“\ n”,但它无法删除空格结束或字符串的前面。(例如:“string”)。 所以strip()方法用于删除print的第二个参数中的空格。