Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python2.7中打印而不使用换行符而不使用缓冲_Python_String_Python 2.7_Output - Fatal编程技术网

如何在Python2.7中打印而不使用换行符而不使用缓冲

如何在Python2.7中打印而不使用换行符而不使用缓冲,python,string,python-2.7,output,Python,String,Python 2.7,Output,在Python2.7中,我需要将文本打印到控制台,而不使用换行符,这样我可以在以后的代码中继续在同一行上编写更多文本。我当前的实现涉及从future库导入Python3打印函数,并使用end='' 这并不理想,就像我打印一行一样,例如: print("We're doing something...",end='') 然后在后面加上其他代码,再加上一行,例如: print("we finished doing that thing.") 该行被打印,但它同时被全部打印,这意味着它将被缓冲,直

在Python2.7中,我需要将文本打印到控制台,而不使用换行符,这样我可以在以后的代码中继续在同一行上编写更多文本。我当前的实现涉及从future库导入Python3打印函数,并使用end=''

这并不理想,就像我打印一行一样,例如:

print("We're doing something...",end='')
然后在后面加上其他代码,再加上一行,例如:

print("we finished doing that thing.")
该行被打印,但它同时被全部打印,这意味着它将被缓冲,直到它获得带有换行符的打印。我更希望能够将第一个打印字符串输出到控制台,执行其他代码,然后放入换行符部分。在Python2.7中,我找不到任何方法来使用print实现这一点。也许有人能给我指一个实用的方法来做这个?谢谢


对于那些建议使用环境缓冲来修复它的人来说,事实并非如此。它会影响文件输出和其他一些与之无关的杂事。下面是一个整体功能性的答案。

请在文件开头包含以下内容:

from __future__ import print_function
然后,您可以使用
end
flush
命名参数,就像在Python3上一样。这表明您缺少
flush
参数:

print("We're doing something...",end='', flush=True)
如果出于某种原因,您不能或不想这样做,您应该用一个逗号结束遗留的
print
语句。如果需要打印部分行,则必须在打印后立即手动调用
sys.stdout.flush()

 print "We're doing something...",
 sys.stdout.flush()
 ...
 print "Done!"

在文件开头包括以下内容:

from __future__ import print_function
然后,您可以使用
end
flush
命名参数,就像在Python3上一样。这表明您缺少
flush
参数:

print("We're doing something...",end='', flush=True)
如果出于某种原因,您不能或不想这样做,您应该用一个逗号结束遗留的
print
语句。如果需要打印部分行,则必须在打印后立即手动调用
sys.stdout.flush()

 print "We're doing something...",
 sys.stdout.flush()
 ...
 print "Done!"

该讨论的可能副本似乎无法提供我需要的内容。该讨论的可能副本似乎无法提供我需要的内容。他们已经在使用
print
函数及其
end
参数,但没有意识到
flush
是一件事,因此,您可能需要进一步强调
flush
。我有一个代码,
来自uuu future\uuuu导入打印函数print(“初始化…”,end='',flush=True)
,它给了我一个错误
TypeError:“flush”是此函数的无效关键字参数。虽然这似乎是我所需要的功能,而且在Python 3文档中它似乎是正确的关键字……但我想知道这里出了什么问题。结果表明,print函数在2.7中没有实现这种功能所需的功能,所以这是可行的:他们已经在使用
print
函数及其
end
参数,但没有意识到
flush
是一件事,所以你可能想强调
flush
更多。我有一个代码,
来自“导入打印”函数print(“初始化…”,end='',flush=True)
它给出了错误
类型错误:“flush”是此函数的无效关键字参数
。虽然这似乎是我所需要的功能,而且在Python 3文档中它似乎是正确的关键字……但想知道这里出了什么问题。结果表明,print函数没有在2.7中以这种方式运行所需的功能,因此它可以工作: