标准输入输出

sys.stdin.readline() 与 input()

import sys
a = sys.stdin.readline().strip('\n')

值得注意的是,sys.stdin.readline()会把标准输入全部获取,包括末尾的换行符 '\n',我们用 strip('\n') 去掉换行符 '\n' 就可以了。

当我们用内置函数 input() 时,事实上是先把提示信息输出,然后获取输入:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
a = input('请输入:')

与 sys.stdin.readline() 一样,input() 将所有输入作为字符串看待,返回字符串类型。

sys.stdout.write() 与 print()

import sys
sys.stdout.write('hello')

注意:交互式模式下除了返回字符串,还会返回字符串长度。

print 将内容打印到控制台。

print('hello')

 

文件对象

Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数。

注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。

open() 函数常用形式是接收两个参数:文件名和模式。

open(file,mode='r')

常用的模式有:

'r':读

'w':写

'a':追加

'r+' :r+w(可读可写,文件若不存在就报错)

'w+' : w+r(可读可写,文件若不存在就创建)

'a+' :a+r(可追加可写,文件若不存在就创建)

对应的,如果是二进制文件,就都加一个b就好啦:

'rb' 'wb' 'ab' 'rb+' 'wb+' 'ab+'

文件对象的方法

f.read([size])        # 读取指定的字节数

f.readline()        # 读取整行,包括 '\n'

f.readlines()         # 读取所有行,并返回列表

f.write(str)       # 将字符串写入文件,返回写入的字符串长度

f.writelines(sequence)      # 向文件写入一个字符串列表

f.tell()      # 返回文件当前位置

f.seek(offset[,whence])  # 设置文件当前位置

f.close()     # 关闭文件对象

上下文管理器

上下文管理器(context manager)用于规定某个对象的使用范围。一旦进入或者离开该使用范围,会有特殊操作被调用 (比如为对象分配或者释放内存)。它的语法形式是 with ... as ... 。

可以在不需要文件的时候,自动关闭文件。

with open('new.txt', 'w') as f:
    f.write("Hello World!")

上下文管理器有隶属于它的程序块,当程序块执行结束的时候,上下文管理器自动关闭了文件(可以通过 f.closed 来查询文件是否关闭)。

上下文管理器基于对象的特殊方法。Python 在进入程序块之前调用对象的 __enter__() 方法,在结束程序块时调用 __exit__() 方法。在 __exit__() 方法中,有 self.close() 语句。

任何定义了 __enter__() 和 __exit__() 方法的对象都可以用于上下文管理器。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄