首页 > 编程语言 > 详细

Python 输入和输出

时间:2019-05-05 18:46:32      阅读:128      评论:0      收藏:0      [点我收藏+]

标准输入输出


sys.stdin.readline() 与 input()

import sys

a = sys.stdin.readline().strip(‘\n‘)

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

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

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(filemode=‘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!")
print f.closed

上下文管理器有隶属于它的程序块,当隶属的程序块执行结束的时候,上下文管理器自动关闭了文件(可以通过f.closed来查询文件是否关闭)。我们相当于使用缩进规定了文件对象f的使用范围。

上面的上下文管理器基于f对象的__exit__()特殊方法。当我们使用上下文管理器的语法时,实际上要求Python在进入程序块之前调用对象的__enter__()方法,在结束程序块的时候调用__exit__()方法。对于文件对象f来说,它定义了__enter__()和__exit__()方法。在f的__exit__()方法中,有self.close()语句。所以在使用上下文管理器时,我们就不用明文关闭f文件了。

任何定义了__enter__()和__exit__()方法的对象都可以用于上下文管理器。文件对象f是内置对象,所以f自动带有这两个特殊方法,不需要自定义。

 

Python 输入和输出

原文:https://www.cnblogs.com/yutb/p/10782982.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!