相关疑难解决方法(0)

如何在没有换行或空格的情况下打印?

问题出在标题中.

我想在做到这一点 .我想在中的这个例子中做些什么:

#include <stdio.h>

int main() {
    int i;
    for (i=0; i<10; i++) printf(".");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

..........
Run Code Online (Sandbox Code Playgroud)

在Python中:

>>> for i in xrange(0,10): print '.'
.
.
.
.
.
.
.
.
.
.
>>> for i in xrange(0,10): print '.',
. . . . . . . . . .
Run Code Online (Sandbox Code Playgroud)

在Python中print会添加一个\n或一个空格,我该如何避免呢?现在,这只是一个例子.不要告诉我,我可以先构建一个字符串然后打印它.我想知道如何"附加"字符串stdout.

python newline python-2.x

1760
推荐指数
20
解决办法
178万
查看次数

Python:在同一行上打印多个

我想运行一个脚本,它基本上显示如下内容:

Installing XXX...               [DONE]
Run Code Online (Sandbox Code Playgroud)

现在,此刻,我在功能成功后使用print打印整行.但是,我现在希望它首先打印"安装xxx ...",并在功能运行之后添加"DONE"标签; 但是在同一条线上.

有任何想法吗?

python printing stdout line-breaks

212
推荐指数
10
解决办法
44万
查看次数

如何在控制台上的相同位置写入输出?

我是python的新手,我正在编写一些脚本来自动从FTP服务器等下载文件.我想显示下载的进度,但我希望它保持在相同的位置,例如:

输出:

正在下载文件FooFile.txt [47%]

我试图避免这样的事情:

     Downloading File FooFile.txt [47%]
     Downloading File FooFile.txt [48%]
     Downloading File FooFile.txt [49%]
Run Code Online (Sandbox Code Playgroud)

我应该怎么做呢?


重复: 如何在命令行应用程序中打印当前行?

python console-output

148
推荐指数
6
解决办法
16万
查看次数

如何在python中覆盖以前的打印到stdout?

如果我有以下代码:

for x in range(10):
     print x
Run Code Online (Sandbox Code Playgroud)

我会得到的输出

1
2
etc..
Run Code Online (Sandbox Code Playgroud)

我想要做的是不是打印换行符,而是要替换之前的值并用同一行上的新值覆盖它.

python

97
推荐指数
11
解决办法
13万
查看次数

在同一行上打印新输出

我想将循环输出打印到同一行的屏幕上.

我如何以最简单的方式处理Python 3.x.

我知道这个问题已经被要求用于Python 2.7,在行的末尾使用逗号即打印I,但我找不到Python 3.x的解决方案.

i = 0 
while i <10:
     i += 1 
     ## print (i) # python 2.7 would be print i,
     print (i) # python 2.7 would be 'print i,'
Run Code Online (Sandbox Code Playgroud)

屏幕输出.

1
2
3
4
5
6
7
8
9
10
Run Code Online (Sandbox Code Playgroud)

我想要打印的是:

12345678910
Run Code Online (Sandbox Code Playgroud)

新读者访问此链接以及http://docs.python.org/release/3.0.1/whatsnew/3.0.html

python printing python-3.x

94
推荐指数
5
解决办法
32万
查看次数

输出到同一行覆盖以前的输出?python(2.5)

我正在写一个简单的ftp下载器.代码的一部分是这样的:

ftp.retrbinary("RETR " + file_name, process)
Run Code Online (Sandbox Code Playgroud)

我正在调用函数进程来处理回调:

def process(data):
    print os.path.getsize(file_name)/1024, 'KB / ', size, 'KB downloaded!'
    file.write(data)
Run Code Online (Sandbox Code Playgroud)

和输出是这样的:

1784  KB / KB 1829 downloaded!
1788  KB / KB 1829 downloaded!
etc...   
Run Code Online (Sandbox Code Playgroud)

我希望它打印这一行,然后下次重新打印/刷新它所以它只显示一次,我将看到该下载的进度...

怎么做到呢?

python refresh progress-bar

88
推荐指数
9
解决办法
13万
查看次数

删除并替换打印的项目

我想知道是否有可能删除你用Python打印的项目 - 不是从Python GUI,而是从命令提示符.例如

a = 0  
for x in range (0,3):  
    a = a + 1  
    b = ("Loading" + "." * a)
print (a)
Run Code Online (Sandbox Code Playgroud)

所以它打印

>>>Loading   
>>>Loading. 
>>>Loading.. 
>>>Loading...
Run Code Online (Sandbox Code Playgroud)

但是,我的问题是我希望这一切都在一条线上,为此它会在其他东西出现时自行删除它.因此,不是打印"Loading", "Loading.", "Loading...我希望它打印"Loading.",然后它删除行上的内容并替换它,"Loading.."然后删除"Loading.."并替换它(在同一行)"Loading...".这很难描述.

ps我试图使用Backspace字符,但它似乎不起作用("\b")

谢谢

python printing python-3.x python-3.2

85
推荐指数
3
解决办法
15万
查看次数

如何将光标重置到Python中同一行的开头

SO中与此主题相关的大多数问题如下:

如何在不引入新行的情况下在同一行上打印一些信息

Q1 Q2.

相反,我的问题如下:

我希望看到以下效果,

>> You have finished 10%
Run Code Online (Sandbox Code Playgroud)

在那里10不断增加的同时.我知道如何在C++中做到这一点,但在python中找不到一个好的解决方案.

python

27
推荐指数
3
解决办法
4万
查看次数

如何在命令行应用程序中打印当前行?

在Unix上,我可以使用\ r(回车)或\ b(退格)来打印在shell中已经可见的文本(即再次覆盖当前行).

我可以从Python脚本在Windows命令行中实现相同的效果吗?

我尝试了curses模块,但它似乎在Windows上不可用.

python windows command-line overwrite carriage-return

18
推荐指数
5
解决办法
4万
查看次数

Python:如何在同一行上打印,清除之前的文本?

\r在 Python 中,您可以使用移回行首在同一行上进行打印。

这对于进度条或增加百分比计数器非常有效,例如:Python print on same line

但是,当打印长度可能会减少的行时,这会将前几行文本保留在那里,例如:

import sys
for t in ['long line', '%']:
    sys.stdout.write(t + '\r')
sys.stdout.write('\n')
Run Code Online (Sandbox Code Playgroud)

将终端文本保留为:%ong line

打印到同一行时,在较长的行之后写较短的行的最佳方法是什么?

python stdout python-3.x

10
推荐指数
1
解决办法
6480
查看次数