python 格式化输出和文件操作(自带)

CONTENTS

  •  格式化输出
    • 两种常用的格式化输出方式
      • %用法
      • .format()用法
    • 带颜色,底纹样式的输出
  • python自带文件操作
    • 操作模式
    • 常用方法

 

格式化输出

1. % 用法

1 name = input("username:")
2 password = input("password:")
3 info = '''------------------
4     username:%s
5     password:%s
6         ''' % (name, password)
7 print(info)

通过%s提供字符串占位符,然后在%后输入占位符的内容。

在交互界面中,往往希望输入的密码是密文,可以使用如下模块的方法代替input:

1 import getpass
2 password = getpass.getpass("password:")   # 代替input("password:")

 

P.S.% 后可占位的类型

符号说明
%s

字符串

%c

字符

%i   

整数

%d十进制
%o八进制
%x十六进制
%e浮点数

2. format的用法

 1 name = input("name:")
 2 age = input("age:")
 3 job = input("job:")
 4 salary = input("salary:")
 5 info = '''
 6 ------------------- information of {0} ------------------
 7     Name:   {0}
 8     age:    {1}
 9     job:    {2}
10     salary  {3} 
11 '''.format(name, age, job, salary)
12 print(info)

{0}...与%s的效果相同,也是起到占位符的效果。

当然,在{ }中,也可以使用关键字:

 1 name = input("name:")
 2 age = input("age:")
 3 job = input("job:")
 4 salary = input("salary:")
 5 info = '''
 6 ------------------- information of {0} ------------------
 7     Name:   {_name}
 8     age:    {_age}
 9     job:    {_job}
10     salary  {_salary} 
11 '''.format(_name = name, _age = age, _job = job, _salary = salary)
12 print(info)

 打印输出具有颜色或底纹效果

1 print("\033[40;1mhello world\033[0m")
字体颜色底纹颜色
30白色40白色
31红色41红色
32黄色42黄色
33橘黄色43橘黄色
34蓝色44蓝色
35紫色45紫色
36绿色46绿色
37灰色47灰色

其中,可以更改代码中的40来调节不同字体或底纹颜色,如上表所示。

python自带文件操作

1. 文件操作模式

  • r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
  • w,只写模式【不可读;不存在则创建;存在则清空内容
  • x, 只写模式【不可读;不存在则创建,存在则报错
  • a, 追加模式【可读;   不存在则创建;存在则只追加内容】,文件指针自动移到文件尾。

"+" 表示可以同时读写某个文件

  • r+, 读写【可读,可写】
  • w+,写读【可读,可写】,消除文件内容,然后以读写方式打开文件。
  • x+ ,写读【可读,可写】
  • a+, 写读【可读,可写】,以读写方式打开文件,并把文件指针移到文件尾。

 "b"表示以字节的方式操作,以二进制模式打开文件,而不是以文本模式。

  • rb  或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

 注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型(b"字符串"),不能指定编码

2. 常用方法

f.read()  # read([size])方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象

f.readline()  # 该方法每次读出一行内容,所以,读取时占用内存小,比较适合大文件,该方法返回一个字符串对象

f.readlines()  # 读取整个文件所有行,保存在一个列表(list)变量中,然后一行一行输出。 也是先全部读入内存中不适合较大文件

f.write()   # 写操作

f.close()  # 关闭文件句柄

f.tell()  # 光标所在位置(按字符的个数)

f.seek  # 光标回到某一位置

f.readable # 是否可读

f.writeable # 是否可写

f.seekable # 光标是否可移

1 import time
2 f = open("圣所.txt", "r", encoding="utf-8")
3 lines = f.readlines()  # 模拟播放器,逐行输出歌词
4 for line in lines:
5     time.sleep(1)
6     print(line)
7 f.close

使用下述语句进行操作,便不用再进行关闭文件操作:

with open("圣所.txt", "r", encoding = "utf-8") as f:
    f.read()

一种逐行输出的高效循环方式:

读一行,只在内存中存一行,再读一行后清空之前的,省内存

1 # 高效的循环方式:
2 with open("圣所.txt", "r", encoding="utf-8") as f:
3     for line in f:   # line相当于是迭代器
4 time.sleep(1) 5 print(line)

同时打开多个文件:

1 with open("圣所.txt", "r", encoding= "utf-8") as f, \
2     open("伟大的渺小.txt", "r", encoding= "utf-8") as f1:
3     f.read()    
4     f1.read()

 

转载于:https://www.cnblogs.com/monologuesmw/p/9575034.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值