Python操作文件 及 dict 的 items 与 iteritems区别

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_37189082/article/details/100305265

1.Python是如何操作文件的?

打开文件

写入或读取数据

关闭文件

# 写文件,test.txt要操作文本名
f = open('test.txt', 'wt')   # 以wt(write text)写入文本方式去打开
f.write("hello world")       # 写入字符串
f.close                      # 关闭

# 使用with,追加内容,不用关心文件关闭问题
# with方法会在操作完成之后自动关闭
with open('test.txt', 'at') as f:  # 以at(add text)追加文本方式操作
    f.write("\nhello xiaokang")
    
# 读取文件
with open('test.txt', 'rt') as f: # 以rt(read text)读取文本方式操作
    print(f.read())

2. dict 的 items 与 iteritems区别?

Python2 中 items方法以列表( list )方式返回,返回时没有特殊顺序; iteritems方法类似,但返回的是一个迭代器( iterator )对象。items返回迭代对象,iteritems返回迭代器。

Python3 中没有 iteritems方法,items返回可迭代对象。

test1 = {'key1':2, 'key2':3, 'key3':4}

# python2
kv1 = test1.items()       # 返回一个包含字典中(键,值)对元组的列表
print(kv1)     # 输出结果: [('key3', 4), ('key2', 3), ('key1', 2)]
kv2 = test1.iteritems()   # 返回对字典中所有(键,值)对的迭代器
print(type(kv2))    # 输出结果: <type 'dictionary-itemiterator'>
print(next(kv2))    # 输出结果: ('key3', 4)
print(next(kv2))    # 输出结果: ('key2', 3)
print(next(kv2))   # 输出结果: ('key1', 2)

# python3
kv3 = test1.items()    # 以列表返回可遍历的(键, 值) 元组数组
print(kv3) # 输出结果: dict_items([('key1', 2), ('key2', 3), ('key3', 4)])
from collections import Iterable, Iterator
print(isinstance(kv3, Iterable))  # 输出结果: True
print(isinstance(kv3, Iterator))  # 输出结果: False
for key,value in kv3:
    print("key:" + key, end =' ')
    print("value:" + str(value))
# 输出结果:
    key:key1 value:2
    key:key2 value:3
    key:key3 value:4

猜你喜欢

转载自blog.csdn.net/qq_37189082/article/details/100305265