python基础之IO编程

读文件 with open(\'/path/to/file\', \'r\') as f: print(f.read())

调用read()会一次性读取文件的全部内容,read()函数里面可以传入每次最多读取的字节大小,另外调用readline()函数可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list

f = open(\'\'/path/to/file\', \'r\') for line in f.readlines(): print(line.strip()) # 把末尾的\'\n\'删掉 写文件

为了保证数据被全部写入到磁盘文件里面,这里采用用with语句。

with open(\'/Users/michael/test.txt\', \'w\') as f: f.write(\'Hello, world!\') #在python解释器下会返回写入的字符串长度。

要写入特定编码的文本文件,请给open()函数传入encoding参数,将字符串自动转换成指定编码。

StringIO

StringIO就是说在内存中读写str。示例如下:
写入StringIO

>>> from io import StringIO >>> f = StringIO() >>> f.write(\'hello\') 5 >>> print(f.getvalue()) hello

读取StringIO

>>> from io import StringIO >>> f = StringIO(\'Hello!\nHi!\nGoodbye!\') >>> line = f.readline() >>> while line: ... print(line.strip()) ... line = f.readline() ... Hello! Hi! Goodbye! BytesIO

BytesIO实现了在内存中读写bytes,示例如下:
写入BytesIO

>>> from io import BytesIO >>> f = BytesIO() >>> f.write(\'中文\'.encode(\'utf-8\')) 6 >>> print(f.getvalue()) b\'\xe4\xb8\xad\xe6\x96\x87\'

读取BytesIO

>>> from io import BytesIO >>> f = BytesIO(b\'\xe4\xb8\xad\xe6\x96\x87\') >>> f.read() b\'\xe4\xb8\xad\xe6\x96\x87\'

如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成,操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数。打开python的交互式命令行,我们来看一下如何使用os模块的基本功能。

>>> import os >>> os.name #操作系统类型 \'nt\'

如果是posix,说明系统是Linux、Unix或Mac OS X,如果是nt,就是Windows系统。
要获取详细的系统信息,可以调用uname()函数,注意uname()函数在Windows上不提供,也就是说,os模块的某些函数是跟操作系统相关的。
os.path.split() 函数就会返回以路径和最后一个文件名组成的元组 (path, last_part):

>>> import os >>> _, filename = os.path.split(\'/home/luciano/.shh/idrsa.pub\') >>> filename \'idrsa.pub\' >>>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgwwx.html