两种让python输出更加美观的方式,三分钟看完就会

news2025/4/17 16:15:40

嗨害大家好鸭!我是小熊猫❤

最近要给大家持续带来干货输出啦!

赶紧收藏起来,以后查漏补缺要用到的喔~

源码、资料电子书点击这里

请添加图片描述

1.输出格式美化

Python两种输出值的方式: 表达式语句print() 函数。
(第三种方式是使用文件对象的 write() 方法; 标准输出文件可以用 sys.stdout 引用。)

如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。

如果你希望将输出的值转成字符串,可以使用 repr()str() 函数来实现。

  • str() 函数返回一个用户易读的表达形式。
  • repr() 产生一个解释器易读的表达形式,reprrjust和ljust方法。
print("repr().rjust")
for x in range(1,11):
    print(repr(x).rjust(2),repr(x*x).rjust(3),repr(x*x*x).rjust(4))
    
print("repr().ljust")
for x in range(1,11):
    print(repr(x).ljust(2),repr(x*x).ljust(3),repr(x*x*x).ljust(4))
    
print("repr().center")
for x in range(1,11):
    print(repr(x).center(2),repr(x*x).center(3),repr(x*x*x).center(4))
    
print("'{}'.format()")
for x in range(1,11):
    print('{0:2d} {1:3d} {2:4d}'.format(x,x*x,x*x*x))
    
>>
repr().rjust
 1   1    1
 2   4    8
 3   9   27
 4  16   64
 5  25  125
 6  36  216
 7  49  343
 8  64  512
 9  81  729
10 100 1000
repr().ljust
1  1   1   
2  4   8   
3  9   27  
4  16  64  
5  25  125 
6  36  216 
7  49  343 
8  64  512 
9  81  729 
10 100 1000
repr().center
1   1   1  
2   4   8  
3   9   27 
4   16  64 
5   25 125 
6   36 216 
7   49 343 
8   64 512 
9   81 729 
10 100 1000
'{}'.format()
 1   1    1
 2   4    8
 3   9   27
 4  16   64
 5  25  125
 6  36  216
 7  49  343
 8  64  512
 9  81  729
10 100 1000

进程已结束,退出代码0

注意:在第一个例子中, 每列间的空格由 print() 添加。

这个例子展示了字符串对象的rjust()方法, 它可以将字符串靠右, 并在左边填充空格。

还有类似的方法, 如 ljust() center()。 这些方法并不会写任何东西, 它们仅仅返回新的字符串。

另一个方法 zfill(), 它会在数字的左边填充 0

请添加图片描述

2.读和写文件

open() 将会返回一个 file 对象,基本语法格式如下:

open(filename, mode)

实例:

>>> f = open('/tmp/workfile', 'w')
  • 第一个参数为要打开的文件名。
  • 第二个参数描述文件如何使用的字符。 mode 可以是 ‘r’ 如果文件只读, ‘w’ 只用于写 (如果存在同名文件则将被删除), 和
    ‘a’ 用于追加文件内容; 所写的任何数据都会被自动增加到末尾. ‘r+’ 同时用于读写。 mode 参数是可选的; ‘r’ 将是默认值。

f.read()

为了读取一个文件的内容,

调用 f.read(size), 这将读取一定数目的数据,

然后作为字符串或字节对象返回。

size 是一个可选的数字类型的参数。

当 size 被忽略了或者为负,

那么该文件的所有内容都将被读取并且返回。

>>> f.read()
'This is the entire file.\n'
>>> f.read()
''

f.readline()

f.readline() 会从文件中读取单独的一行。

换行符为 ‘\n’。

f.readline() 如果返回一个空字符串,

说明已经已经读取到最后一行。

f=open('D:/Lenovo/Desktop/pzl.txt','r+')
print(f.readline())
print(f.readline())
print(f.readline())
print(f.readline())
>>>
hello world1

hello world2

hello world3

进程已结束,退出代码0

请添加图片描述

f.readlines()

f.readlines() 将返回该文件中包含的所有行。

如果设置可选参数 sizehint,

则读取指定长度的字节,

并且将这些字节按行分割。

f=open('D:/Lenovo/Desktop/pzl.txt','r+')
print(f.readlines())
print(f.readlines())
>>>
['hello world1\n', 'hello world2\n', 'hello world3\n']
[]

进程已结束,退出代码0

另一种方式是迭代一个文件对象然后读取每行:

>>> for line in f:
...     print(line, end='')
...		 #Python学习交流:660193417##
This is the first line of the file.
Second line of the file

这个方法很简单, 但是并没有提供一个很好的控制。 因为两者的处理机制不同, 最好不要混用。

f.write()

f.write(string) 将 string 写入到文件中,

然后返回写入的字符数。

f=open('D:/Lenovo/Desktop/pzl.txt','w')
f.write('hello world')

f.tell()

f.tell() 返回文件对象当前所处的位置, 它是从文件开头开始算起的字节数。


f.seek()

如果要改变文件当前的位置, 可以使用 f.seek(offset, from_what) 函数。

from_what 的值, 如果是 0 表示开头, 如果是 1 表示当前位置, 2 表示文件的结尾,例如:

  • seek(x,0) : 从起始位置即文件首行首字符开始移动 x 个字符
  • seek(x,1) : 表示从当前位置往后移动x个字符
  • seek(-x,2):表示从文件的结尾往前移动x个字符
  • from_what 值为默认为0,即文件开头。

下面给出一个完整的例子:

>>> f = open('/tmp/workfile', 'rb+')
>>> f.write(b'0123456789abcdef')
16
>>> f.seek(5)     # 移动到文件的第六个字节
5
>>> f.read(1)
b'5'
>>> f.seek(-3, 2) # 移动到文件的倒数第三字节
13
>>> f.read(1)
b'd'

f.close()

在文本文件中 (那些打开文件的模式下没有 b 的),

只会相对于文件起始位置进行定位。

当你处理完一个文件后,

调用 f.close() 来关闭文件并释放系统的资源,

如果尝试再调用该文件,则会抛出异常。

请添加图片描述

今天的知识点有没有掌握呢?

这篇文章就到这里啦~

还有更多干货还请多多关注我鸭~

我是小熊猫,咱下篇文章再见啦(✿◡‿◡)

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/4344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web前端开发技术课程大作业——南京旅游景点介绍网页代码html+css+javascript

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…

二选一工作器引入的Verilog语法

二选一工作器引入的Verilog语法 ——XILINX 基于BASYS 3板 状态机、线性序列机、学习仿真 DDS:矩阵键盘、DAC,LCD/数码管,这些模块间的接口逻辑 常见的接口设计:SPI、IIC、UART 学习:三八译码器、计数器电灯、学习开发工具的使用…

年轻人不用太过于努力

周末和一个毕业一年多的朋友聊天,我随口问了一句「你有什么想跟我分享的」,然后他就说了上面的那句话。「年轻人不用太过于努力」和读者聊天会做成我的一个公众号专栏,内容有也会越来越丰富,全部的内容都会收录到我的程序人生专栏…

RK3568平台开发系列讲解(音频篇)Audio 音量控制流程

🚀返回专栏总目录 文章目录 一、安卓音量控制流程简介二、什么是AudioService沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要介绍安卓音量控制流程。 一、安卓音量控制流程简介 Android音频系统,分为数据流和策略两部分。 数据流描述了音频数据从数据源…

【C++哈希表】哈希碰撞,线性探测,二次探测 ,荷载因子,闭散列的实现及string需要特化

目录 1.哈希概念 2.哈希碰撞 3.解决哈希冲突 4.哈希表闭散列实现 框架: 4.3插入 1.哈希概念 线性表以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。线性表查找…

首届数据安全大赛初赛web

文章目录easy_nodeeasy_webeasy_phar刮刮乐my_cloudeasy_node 访问src得到源码 第一步需要伪造admin用户 可以看到都是通过jwt进行加密解密 很容易想到jwt的几种攻击方式,可以参考下文章https://blog.csdn.net/miuzzx/article/details/111936737 首先试下改为n…

Linux篇【4】:Git,Gitee,GitHub

在 Linux 系统中,如何将普通源文件和普通头文件上传到 Gitee ? Git 是一个分布式的版本控制器,目前可以理解成百度云盘,其次,在 Linux 系统中,Git 也是一个软件/工具/指令,在 Windows 系统中&a…

212 - 218. MySQL索引的基本用法

1.索引的简介 1.1 索引的概念 是数据库对象,实现数据库快速查询 1.2 为什么使用索引 实现数据库快速查询,提高查询速度 1.3 索引的分类 a.普通索引 最基本的索引,对字段数据的类型和值没有任何限制,数据类型可以任意,…

电脑技巧:Win10自带的6个实用功能,你都会用吗

目录 1、系统自带计算器 2、Win10自带截图功能 3、 Win10自带的手写输入 4、历史剪贴板 5、定时提醒 6、自带录屏功能 1、系统自带计算器 系统里自带了一个计算器大家都知道,打开是这个样子。 但当你点击计算器左上角的三个横杠图标后会发现这个计算器功能非常强大。…

Python画爱心——谁能拒绝用代码敲出来会跳动的爱心呢~

还不快把这份浪漫拿走!!节日就快到来了,给Ta一个惊喜吧~ 今天给大家分享一个浪漫小技巧,利用Python制作一个立体会动的心动小爱心 成千上百个爱心汇成一个大爱心,从里到外形成一个立体状,给人视觉上的冲击…

phy层深入了解编码

1,我们知道mac层通过MDI来访问phy层的,那么phy层到光模块数据是怎么处理的呢。从下面这个图中可以看出基本的关系: serdies接口说明: Medium Independent Interface (MII): 介质无关接口。提供公共接口,屏蔽多个物理…

基于haproxy负载均衡实现lamp与apache的高可用

环境准备 IP主机名服务系统192.168.47.10node1ansiblecentos8192.168.47.20node2lampcentos8192.168.47.30node3apachecentos8192.168.47.40node4haproxycentos8 基于上一篇的文章在node3主机上部署apache 一、部署haproxy 准备主机清单组织 //创建角色 [studentserver rol…

服务器没网 利用本地机器反向隧道 设置conda代理配置环境

适用情况 S是局域网内服务器,无法联网。 C为本地机器,可以通过ssh链接服务器。 本篇文章主要为了可以让S可以借用C的网络进行conda环境配置,所采取的设置。 1.利用Xshell建立反向隧道 在连接设置的ssh中点击隧道,点击设置&#…

SpringBoot--网上商城项目(前端搭建、首页、用户登录、盐加密、登录令牌管理)

文章目录 一、项目技术点 数据表 二、构建SpringBoot项目 1、创建SpringBoot项目并配置pom 配置pom 2、application.yml的配置 3、首页访问 三、首页功能 工具类!!! 首页数据绑定语法 四、用户明文登录 五、前端及数据库密码加密 …

C. String Transformation 1(图的思想)

Problem - 1384C - Codeforces 题意: 考拉有两个长度相同的字符串A和B(|A||B|n),由前20个小写英文字母组成(即从a到t)。 在一步棋中,Koa。 (选择A的某个位置子集p1,p2,...,pk(k≥1;1≤pi≤n;…

Codeforces Round #831 (Div. 1 + Div. 2)

A. Factorise NM 题目链接:Dashboard - Codeforces Round #831 (Div. 1 Div. 2) - Codeforces 样例输入: 3 7 2 75619样例输出: 2 7 47837题意:给定一个质数,让我们输出一个质数使得这两个数相加为一个合数。 分…

基于Java的飞机雷电射击游戏的设计实现(Eclipse开发)

目 录 摘 要 I Abstract II 1 引言 3 1.1 项目背景 3 1.2 电脑游戏的发展历史 3 1.3国内游戏项目研究现状 5 1.4项目主要工作 6 1.5本文组织结构 7 1.6 电脑游戏的策划 7 2 开发平台与开发技术 8 2.1 Eclipse 8 2.2 Eclipse平台 8 2.3 Java 9 2.4游戏图形界面的开发基础 11 2.5…

redis启动和简单使用

redis启动和简单使用 1.redis启动 1.1 找到redis解压的位置,在里面输入cmd回车 1.2 输入redis-server redis.conf指令,然后回车,出现如下界面 注意:该界面不能关闭了 1.3 再进入一次redis解压的位置 输入cmd回车 1.4 输入redis-cli指令后的结果 1.5 补充 当出现…

Flink系列文档-(YY05)-Flink编程API-多流算子

1 多流连接 connect connect连接(DataStream,DataStream→ConnectedStreams) connect翻译成中文意为连接,可以将两个数据类型一样也可以类型不一样DataStream连接成一个新的ConnectedStreams。需要注意的是,connect方法与union方法不同&…

Hadoop高手之路3-Hadoop集群搭建

文章目录Hadoop高手之路3-Hadoop集群搭建一、集群的规划二、再准备两台虚拟机作为服务器1. 根据hadoop001克隆出hadoop002和hadoop0032. 配置hadoop002和hadoop0031) 启动hadoop002虚拟机并登录2) 配置ip地址3) 重启网络服务器,查看ip4) 远程连接hadoop0025) 修改主…