📅  最后修改于: 2023-12-03 15:09:14.149000             🧑  作者: Mango
在Python中,我们可以使用内置的input()
函数和print()
函数来实现与用户终端的交互。
input()
函数用于从终端读取用户输入的数据,并返回一个字符串类型的值。例如,下面的代码会提示用户输入一个数字,并将其转换为整数类型:
num = int(input("Please enter a number: "))
print("The number entered is: ", num)
以上代码执行时,终端会显示提示信息 "Please enter a number: ",用户可以输入一个数字并按回车键确认。程序接着会将输入的字符串转换为整数类型,并打印输出。
print()
函数用于在终端上输出信息,其参数可以是字符串、数字、列表、元组等等。例如,下面的代码会在终端上打印一条问候语:
name = input("Please enter your name: ")
print("Hello, ", name)
以上代码执行时,终端会提示用户输入姓名,程序接着会将其存储在变量 name
中,并使用 print()
函数打印一条问候语。
为了增强用户交互效果,可以使用颜色、位置控制、格式化等技巧来美化终端输出。以下是一些常用的库和工具:
ANSI控制码
ANSI 控制码是一种在终端上显示彩色文本和光标位置的方法。例如,以下代码可以在终端上打印带有彩色的提示信息:
print("\033[1;31;40mError: \033[0mSomething went wrong.")
上述代码包含了 ANSI 控制码,其中 "\033" 是控制字符的转义序列,后面的数字指定了前景色、背景色和文本格式。
curses库
curses
库是 Python 提供的一个 CUI(字符用户界面)库,用于在终端上创建可交互的文本界面。例如,以下代码可以在终端上显示一个简单的界面:
import curses
stdscr = curses.initscr()
# Clear screen
stdscr.clear()
# Add text
stdscr.addstr(0, 0, "Press any key to continue...")
# Wait for user input
stdscr.getch()
curses.endwin()
上述代码使用 curses
库创建了一个 stdscr
对象,可以在屏幕上添加文本、处理用户输入等等。
rich库
rich
库是一个 Python 提供的美化终端输出的工具库,支持文本着色、表格显示、图形绘制等等。例如,以下代码可以在终端上显示一个带有表格和颜色的信息:
from rich.console import Console
from rich.table import Table
from rich.markdown import Markdown
console = Console()
table = Table(show_header=True, header_style="bold magenta")
table.add_column("Name")
table.add_column("Age")
table.add_row("John Smith", "35")
table.add_row("Jane Doe", "28")
console.print("\n[bold red]Error:[/bold red] Something went wrong.", style="italic")
console.print(table)
console.print(Markdown("# This is a heading\n\nThis is a paragraph."))
上述代码演示了如何在终端上使用 rich
库添加表格、文本格式化、颜色等等。
本文介绍了如何在 Python 中编写与终端交互的程序,并探讨了一些增强交互效果的方法。希望可以帮助读者更好地设计和开发终端应用程序。