Python字符串处理及打印(二)

目录

一. 打印不换行

二. 写入文件

三. 分隔符

四. 移动光标

五. 颜色

六. 控制码及组合

常用控制码

颜色        

显示格式

七. 修饰前缀

r/R开头:表示原始字符串,Raw String

f/F开头:表示格式化字符串,Format String

b/B开头:表示字节字符串,Byte String


一. 打印不换行

<end>参数:默认是换行符\n,修改end参数可以使得print不换行

print("Hello World.", end=" ")
print("This is a good day!")

'''
Hello World. This is a good day!
'''

二. 写入文件

<file>参数:默认是sys.stdout,修改这个参数可以将print的内容写入文件

# 方式1: <file>参数设置为文件
with open("tmp.txt", "w") as f:
    print("Output to file", file=f)

# 方式2: 将标准输出指向文件
_console = sys.stdout    # 保存当前标准输出
f = open("tmp.txt", "w")
sys.stdout = f    # 将标准输出指向文件
print("Output to file")    # print时会将内容写入文件
sys.stdout = _console    # 还原标准输出

三. 分隔符

<sep>参数:默认是空格,修改这个参数可以修改分隔多字符串之间的分隔符

# <sep>参数设置多参数的分隔符
print("a","b","c")    # a b c

print("a","b","c", sep=",")    # a,b,c

四. 移动光标

# 使用\b和end=""实现在同一位置打印数字
for i in range(10):
    print(f"\b{i}", end="")
    time.sleep(1)

# 使用\x1b[y;H 设置光标位置
def put_cursor(x,y):
    print("\x1b[{};{}H".format(y+1,x+1))

# 使用\x1b[2J 清屏
def clear():
    print("\x1b[2J")

clear()    # 清楚屏幕
put_cursor(0,0)    # 光标移至初始位置
print("hello")    # 打印
print("huhu")    # 打印

put_cursor(0,0)    # 光标移至初始位置
print("noooooo")    # 打印

五. 颜色

# \x1b[32m表示后面的字符串是绿色
# \x1b[0m表示清除属性
print("\x1b[32m 要显示的文字\x1b[0m")    # 要显示的文字   ---  这是绿色的文字

六. 控制码及组合

多种控制码组合时,使用分号分隔,m放在最后:

        \x1b[32;45m   =  \x1b[32m  +  \x1b[45m

print("\x1b[32;45m 要显示的文字\x1b[0m") 

也可使用十进制进行表示,\033和\x1b是等价的:

print("\033[32;45m 要显示的文字\033[0m") 

常用控制码

        \x1b[0m 关闭所有属性
        \x1b[1m 设置高亮度
        \x1b[4m 下划线
        \x1b[5m 闪烁
        \x1b[7m 反显
        \x1b[8m 消隐
        \x1b[30m – \x1b[37m 设置前景色
        \x1b[40m – \x1b[47m 设置背景色
        \x1b[nA 光标上移n行
        \x1b[nB 光标下移n行
        \x1b[nC 光标右移n列
        \x1b[nD 光标左移n列
        \x1b[y;H 设置光标位置
        \x1b[2J 清屏
        \x1b[K 清除从光标到行尾的内容
        \x1b[s 保存光标位置
        \x1b[u 恢复光标位置
        \x1b[?25l 隐藏光标
        \x1b[?25h 显示光标


颜色        

        30 40 黑色
        31 41 红色
        32 42 绿色
        33 43 黃色
        34 44 蓝色
        35 45 洋红
        36 46 青色
        37 47 白色


显示格式

        0         终端默认设置
        1         高亮显示
        4         使用下划线
        5         闪烁
        7         反白显示
        8         不可见
        22  非高亮显示
        24  去下划线
        25  去闪烁
        27  非反显
        28  可见

七. 修饰前缀

字符串修饰前缀有r/R、f/F、u/U、b/B。

r/R开头:表示原始字符串,Raw String

        r/R开头表示字符串中的\不是转义字符,而是单纯的字符串,常用于表示路径、正则表达式。也用来显示隐藏字符。与repr()功能类似。

# 普通字符串中,\t进行了转义
print("satag\tagga\teatat")    # satag	agga	eatat

# 开头加r后,\t作为普通符号
print(r"satag\tagga\teatat")    # satag\tagga\teatat

# 使用repr()函数,\t作为普通符号
print(repr("satag\tagga\teatat"))    # satag\tagga\teatat

f/F开头:表示格式化字符串,Format String

        f/F开头表示字符串中的{}中可以带表达式,与format()功能类似。

name = "Max"
city = "NanJing"

# 使用f开头
print(f"{Max} live in {city}."))    # Max live in NanJing.

# 使用format()
print("{} live in {}".format(name, city))    # Max live in NanJing
print("{name} live in {city}".format(name="Max", city="NanJing"))    # Max live in NanJing

b/B开头:表示字节字符串,Byte String

s1 = "this is string"
b1 = b"this is bytes"

print(type(s1))    # <class 'str'>
print(type(b1))    # <class 'bytes'>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值