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

删除最后打印的字符python

麹飞航
2023-03-14
问题内容

我正在用Python编写程序,并希望将终端中打印的最后一个字符替换为另一个字符。

伪代码为:

print "Ofen",
print "\b", # NOT NECCESARILY \b, BUT the wanted print statement that will erase the last character printed
print "r"

我正在使用Windows8 OS,Python 2.7和常规解释器。

到目前为止,我看到的所有选项都不适合我。(例如:\010'\033[#D'(#为1),'\r')。

这些选项是在其他Stack Overflow问题或其他资源中提出的,似乎对我不起作用。

编辑
:也使用sys.stdout.write不会改变影响。它只是不会擦除最后打印的字符。相反,使用时sys.stdout.write,我的输出是:

Ofenr # with a square before 'r'

我的问题:

  1. 这些选项为什么不起作用?
  2. 如何获得所需的输出?
  3. 这与Windows OS或Python 2.7有关吗?
  4. 当我找到方法时,是否可以手动擦除(使用所需的橡皮擦),删除'\n'pythonprint语句中打印的?

问题答案:

print在python中使用时,'\n'添加了换行符(aka )。您应该sys.stdout.write()改用。

import sys
sys.stdout.write("Ofen")
sys.stdout.write("\b")
sys.stdout.write("r")
sys.stdout.flush()

输出: Ofer



 类似资料:
  • 问题内容: 这是一种对整数数组进行排序的方法。如何从输出中删除最后一个分隔符? 输出量 期望的输出 问题答案: 如果您使用的是Java 8,则非常干净的解决方案是使用新类。此类旨在将Strings与自定义分隔符(可能还带有前缀/后缀)连接在一起。使用此类,您无需担心像在代码段中一样删除最后一个分隔符。 您还可以删除循环并改用Streams:

  • 假设我的字符串是10个字符长。 如何删除最后一个字符? 如果我的字符串是(我不想替换字符,因为我的字符串可能包含多个字符),我只想删除最后一个字符。不管它是什么或者它发生了多少次,我都需要从我的字符串中移除最后一个字符。

  • 问题内容: 当您必须遍历一个集合并用分隔符分隔每个数据的字符串时,总是总是在末尾有一个额外的分隔符,例如 给出类似以下内容: serverId_1,serverId_2,serverId_3, 我想删除StringBuilder中的最后一个字符(不进行转换,因为在此循环之后我仍然需要它)。 问题答案: 其他人指出了该方法,但这是另一种替代方法: 或者,使用Guava中的类:) 从Java 8开始,

  • 问题内容: 有没有一种快速的方法来删除Swift中String中的最后两个字符?我看到有一个简单的方法来删除最后一个字符作为明确指出这里。您知道如何删除最后两个字符吗?谢谢! 问题答案: 更新: Xcode 9•Swift 4或更高版本 字符串现在符合RangeReplaceableCollection,因此您可以直接在字符串中使用收集方法dropLast,因此不再需要扩展。唯一的区别是它返回一个

  • 问题内容: 在我的应用程序中,我将附加一个字符串以创建路径以生成URL。现在,我想在按“后退”按钮时删除该附加字符串。 假设这是字符串: 现在我想要一个这样的字符串: 我怎样才能做到这一点? 问题答案: 您可以使用相同的方法

  • 问题内容: 我得到的用户输入包括非ASCII字符和不可打印的字符,例如 例如: 所需的输出: 使用Java删除它们的最佳方法是什么? 我尝试了以下操作,但似乎不起作用 输出量 问题答案: 您的要求不清楚。Java 中的所有字符都是Unicode字符,因此,如果将其删除,将留下一个空字符串。我假设您的意思是您要删除任何非ASCII,不可打印的字符。 此处, 代表可打印ASCII字符的POSIX字符类