Python 输入和输出
标准输入输出
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__() 方法的对象都可以用于上下文管理器。
