当前位置: 首页 > 面试题库 >

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

唐涛
2023-03-14
问题内容

我想用python来做 。我想在c中的此示例中做什么:

在C中:

#include <stdio.h>

int main() {
    int i;
    for (i=0; i<10; i++) printf(".");
    return 0;
}

输出:

..........

在Python中:

>>> for i in range(10): print('.')
.
.
.
.
.
.
.
.
.
.
>>> print('.', '.', '.', '.', '.', '.', '.', '.', '.', '.')
. . . . . . . . . .

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


问题答案:

在Python 3中,你可以使用函数的sep=end=参数print

不在字符串末尾添加换行符:

print('.', end='')

在要打印的所有函数参数之间不添加空格:

print('a', 'b', 'c', sep='')

你可以将任何字符串传递给任何一个参数,并且可以同时使用两个参数。

如果你在缓冲方面遇到麻烦,可以通过添加flush=True关键字参数来刷新输出:

print('.', end='', flush=True)

Python 2.6和2.7

在Python 2.6中,你可以print使用__future__模块从Python 3 导入函数:

from __future__ import print_function

允许你使用上面的Python 3解决方案。

但是,请注意,在从Python 2中导入flushprint函数的版本中,该关键字不可用__future__。它仅适用于Python 3,更具体地说是3.3及更高版本。在早期版本中,你仍然需要通过调用进行手动刷新sys.stdout.flush()。你还必须在执行此导入操作的文件中重写所有其他打印语句。

或者你可以使用 sys.stdout.write()

import sys
sys.stdout.write('.')

你可能还需要致电

sys.stdout.flush()

确保stdout立即冲洗。



 类似资料:
  • 问题内容: 我有一个使用JAXB创建的相当大的重复XML。将整个对象存储在内存中然后进行封送处理会占用太多内存。本质上,我的XML如下所示: 目前,我对这个问题的解决方案是将根标记“硬编码”到输出流,并逐个编组每个重复元素: JAXB以某种方式生成这样的XML 尽管这是一个有效的XML,但它看起来很难看,所以我想知道是否有任何方法告诉编组不要为item元素放置名称空间?还是有更好的方法使用JAXB

  • 问题内容: 在python中,如果我说 我收到字母h和换行符。如果我说 我收到字母h,没有换行符。如果我说 我得到字母h,一个空格和字母。如何防止Python打印空间? 打印语句是同一循环的不同迭代,因此我不能只使用运算符。 问题答案: 你需要致电,因为否则它将把文本保存在缓冲区中,你将看不到它。

  • 问题内容: 这个问题已经在这里有了答案 : 如何在没有换行符或空格的情况下进行打印? (22个答案) 3年前关闭。 我想知道在打印某些内容时如何删除其他空格。 就像我这样做时: 输出将是: 但是我想要: 有什么办法吗? 问题答案: 如果您不需要空格,请不要使用。使用字符串串联或格式化。 级联: 格式: 后者要灵活得多,请参见方法文档和“ 格式化字符串语法” 部分 。 您还将遇到较早的格式化样式:

  • 文档说这个库运行在GPU上。如果我功能强大的笔记本电脑没有GPU,我还能运行Deeplearning4J吗?

  • 问题内容: 有谁知道如何在没有主键的情况下为表或视图进行hibernate映射? 问题答案: 不要认为Hibernate允许在没有主键的情况下映射表…考虑一下Hibernate如何在没有可以唯一标识行的列的情况下执行更新。 我猜想一种解决方法是对所有列使用复合键,但是最好添加主键。

  • 问题内容: 我想在Centos7上使用shell脚本自动生成一对ssh密钥,我已经尝试过 所有这些命令都不起作用,仅输入一个“ enter”,然后在“ Enter passphrase(空无密码)为空”时停止shell脚本,我只想知道如何在shell中连续模拟多个“ enter”。 非常感谢任何人的帮助! 问题答案: 只需 使用一个空白通 使用标志: 要覆盖密钥文件 (在此示例中): 从 手册 页