版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
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