python怎么在同一行有延迟地输出一段话?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python怎么在同一行有延迟地输出一段话?相关的知识,希望对你有一定的参考价值。
想要的效果是在同一行每秒出现一个字符,但是直接循环是竖着的,加了end=''就会变成过一会直接显示所有字符,这怎么办
end = " ",是对的,这个不是代码的问题。
你是在命令行下使用Python py文件方式执行的程序。
该方式,默认是把一行的内容缓存到一起,然后才打印。
所以你需要添加一个参数 u,即立即打印不缓存。
python -u xxx.py
这样就不会一起打印了。
参考技术A打印出来 没毛病呀
Python print() 函数,在同一行打印
文章目录
Python print() 函数,在同一行打印
令 Python print()
函数输出的信息在一行。
print()
函数是 Python 中的一个重要函数,因为它用于将 Python 输出重定向到终端或者重定向到文件。
默认情况下, print()
函数每次都在新行上打印,这是由于 Python 文档中 print()
定义决定的。
为什么 Python 的 print
函数默认在新行上打印?
在下面的代码片段中,我们可以看到默认情况下 end
的值是 \\n
,这意味着每个 print 语句将以 \\n
结尾,而 \\n
表示一个换行字符。
让我们看一个 print
函数的例子:
# using Print with default settings
print("This will be printed")
print("in separate lines")
输出:
在上面的示例中,由于 end ="\\n"
,所以行将被单独打印。
如何在 Python 中同一行上打印
有时,我们需要在一行上打印字符串,这在我们用 Python 读取文件时特别有用,当我们读取文件时,默认情况下在行之间会得到一个空白行。
让我们看一个例子,有一个名为 rainbow.txt
的文件,其内容如下:
代码:
fhand = open('rainbow.txt')
for line in fhand:
print(line)
在上面的代码中,我们使用了一个文件处理程序 fhand
来访问文件,接下来,我们使用 for 循环遍历这些行。
当我们打印内容时,结果如下:
额外的空行是由于文件中每一行末尾都有 \\n
,而 n\\
将光标移动到下一行,由于 print
函数也会默认会输出空白行,所以读取文件输出之后多出了一个空行。
假设我们想移除这些,要做到这一点,我们可以做一些改变。为此,我们需要更改 print
的默认行为,我们将在接下来的章节中详细讨论如何做到这一点。
选项 # 1-在打印函数中修改 end 的值
让我们在 print
函数中设置 end 的值,我们将它设置为空格,即 ''
,代码示例:
# Customizing the value of 'end'
print("This is string 1 same line", end=' ')
print("This is string 2 different line")
输出:
现在我们可以看到, print
函数在末尾添加一个空白字符 ''
,而不是一个新行( \\n
)。
我们还可以提供另一个字符,而不是空格:
# Customizing the value of 'end' with a custom separator
print("This is string 1 same line", end=';')
print("This is string 2 different line")
输出:
用法: 上面的示例只是用你设置的分隔字符在同一行上打印的一种方法。
让我们看看另一个例子,可以遍历一个列表,并用 end =''
在同一行上打印它们。
# iterating lists
list_fruits = ['red','blue', 'green', 'orange']
for i in list_fruits:
print(i, end = ' ')
输出:
选项 # 2-在文件中使用 rstrip ()删除空白
我们可以使用 strip()
删除字符串前后的某些字符,默认情况下,文件中的每一行末尾都有 \\n
,由于我们只关心右边的字符,所以我们可使用 rstrip ()
,它代表右边的字符,接下来我们将讨论 rstrip ()
的一个示例。
你可以在这篇博文 中了解更多关于 strip ()
方法的信息。
回到我们的文件打印示例
记住,我们讨论过一个文件打印示例,其中有多余的行被打印:
让我们使用 rstrip ()
稍微修改一下代码。
print("1. Removing extra blank line")
fhand = open('rainbow.txt')
for line in fhand:
line=line.rstrip()
print(line)
print("\\n")
print("2. Printing all in the same line")
fhand = open('rainbow.txt')
for line in fhand:
line=line.rstrip("\\n")
print(line, end = ' ')
输出
首先,我们用 rstrip ()
删除了额外的空格,在下一步中,我们用 rstrip('\\n')
和 end =''
再次删除额外的行,以便在一行中得到输出。
以上是关于python怎么在同一行有延迟地输出一段话?的主要内容,如果未能解决你的问题,请参考以下文章