python-文件I/O

  

open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)

f=open("test") # file object
# Windows <_io.TextIOWrapper name='test' mode='r' encoding='cp936'>
# linux <_io.TextIOWrapper name='test' mode='r' encoding="UTF-8">
print(f.read())
f.close()

 

文件访问有两种模式:文本模式和二进制模式

 

文本模式t

字符流,将文件的字节按照某种字符编码理解,按照字符操作,open的默认mode为rt

二进制模式b

字节流,将文件按照字节理解,与字符编码无关,二进制模式操作时,字节操作使用bytes类型

 

 

 

 

 

f=open('e:/vbn')
with f:
    pass
with open('e:/vbn',mode='rt') as f:
    f.read()
    print(f.closed)
    raise ValueError('zxc')
f=open('e:/vbn',mode='rt')
try:
    f.write('zxc')
finally:
    f.close()

 

 

 

 

 

 

 

 

 

Windows默认内码GBK不能编码ASCII和中文以外的其他字符

 

 

 

 

 

posted @ 2020-09-13 22:46  ascertain  阅读(95)  评论(0编辑  收藏  举报