暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python 基础知识整理 - 输入和输出(3)

数据库杂货铺 2021-12-16
252

手动字符串格式化

 

#手动格式化示例:
for x in range(1, 11):
print(repr(x).rjust(2), repr(x*x).rjust(3), repr(x*x*x).rjust(4))

#非手动格式化示例:
for x in range(1, 11):
print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))
复制

 

字符串对象的 str.rjust() 方法通过在字段左侧填充空格来右对齐给定宽度的字符串。str.ljust() str.center() 方法类似。这些方法不写任何东西,只返回一个新字符串。如果输入字符串太长,他们不会截断它,而是返回不变的字符串;这会弄乱你的专栏布局,但这通常比另一个方法更好,那就是改变值。(如果确实需要截断,则可以使用切片操作,如 x.ljust(n)[:n]。)

 

还有另一个方法 str.zfill(),它在左边用零填充一个数字字符串。它能辨别加号和减号:

 

print('12'.zfill(4))
print('-3.14'.zfill(8))
print('3.14159'.zfill(5))
复制

 

运行结果:

 

0012
-0003.14
3.14159
复制

 

老的字符串格式化:

 

% 运算符(取模)也可用于字符串格式化。给 'string' 中的 % 赋值,字符串中 % 的实例将替换为零个或多个值元素。此操作通常称为字符串插值。例如:

 

import math
print('PI值: %5.3f.' % math.pi)
复制

 

运行结果:

 

PI值: 3.142.
复制

 

读写文件

 

open() 返回一个文件对象,常用形式带有两个参数:open(filename, mode)

 

f = open('2.py', 'w')
复制

 

第一个参数是包含文件名的字符串。第二个参数也是字符串,用于描述文件的使用方式。仅读取文件时,mode 可以为 'r',仅写入时为 'w'(具有相同名称的现有文件将被抹除),'a' 打开文件进行附加;写入文件的任何数据都会自动添加到末尾。'r+' 打开文件进行读取和写入。mode 参数是可选的;如果省略,则假定为 'r'

 

通常,文件是以文本模式打开的,也就是说,可以从文件中读取和写入字符串,这些字符串以特定方式进行编码。如果未指定编码,则默认值取决于平台。'b' 附加到模式,则以二进制模式打开文件:现在数据以字节对象的形式读取和写入。此模式应用于所有不包含文本的文件。

 

在文本模式下,读取时的默认是将特定于平台的行结束符(在Unix上是 \n,在 Windows 上是 \r\n)转换为 \n。在文本模式下写入时,默认是将出现的 \n 转换回特定于平台的行结束符。这种对文件数据的幕后修改对于文本文件来说很好,但会损坏 JPEG EXE 等文件中的二进制数据。在读取和写入此类文件时,使用二进制模式时请务必小心。

 

在处理文件对象时,使用 with 关键字是很好的习惯。这样做的好处是,即使在某个时候出现异常,文件后也会正确关闭。使用 with 也比编写等效的 try-finally 块短得多:

 

with open('2.py') as f:
read_data = f.read()


print(f.closed)
复制

 

如果未使用 with 关键字,则应调用 f.close() 关闭该文件,并立即释放该文件使用的所有系统资源。

 

警告:不使用 with 关键字调用 f.write() 或调用 f.close() 可能会导致即使程序成功退出,但是 f.write() 的参数仍未完全写入磁盘。

 

通过 with 语句或调用 f.close() 关闭文件对象后,尝试使用该文件对象将自动失败。

 

 

 

 

官方文档:

https://docs.python.org/3.9/tutorial/inputoutput.html


文章转载自数据库杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论