解析和读取文件

来源:互联网 发布:乐视1s移动数据用不了 编辑:程序博客网 时间:2024/06/05 15:49

列表解析和字典解析

metadata = [(f, os.stat(f)) for f in glob.glob('*test*.py')] 
metadata_dict = {f:os.stat(f) for f in glob.glob('*test*.py')}
交换字典键和值:

a_dict = {value:key for key, value in a_dict.items()}#颠倒key和value,创建新的值
复合字段

print('my username is {0}, password is {1}{2}'.format(username, password, '!'))

格式说明符,占位用

正则表达式跳过

获得默认编码的信息,则导入locale 模块,

然后调用locale.getpreferredencoding()


读取文件信息

指定encoding参数

seek()tell()方法总是字节的方式计数

但是,由于你是以文本文件的方式打开的,read()方法字符的个数计数

中文字符的UTF‐8编码需要多个字节。而文件里的英文字符每一个只需要一个字节来存储,所以你可能会产生这样的误解:seek()read()方法对相同的目标计数。而实际上,只有对部分字符的情况是这样的。

io.StringIO让你能够将一个字符串作为文本文件来看待。

io.ByteIO类,它允许你将字节数组当做二进制文件来处理。


sys.stdoutsys.stderr 都是流对象,但是他们都只支持写入

试图调用他们的 read()方法会引发IOError异常。







0 0
原创粉丝点击