# 打开一个文件
f =open("/tmp/foo.txt","r")str= f.readlines()print(str)# 关闭打开的文件
f.close()
->['Python 是一个非常好的语言。\n','是的,的确非常好!!\n']
# 打开一个文件
f =open("/tmp/foo.txt","r")# 另一种方式是迭代一个文件对象,然后读取每行# 方法很简单, 但是并没有提供一个很好的控制# 因为两者的处理机制不同, 最好不要混用for line in f:print(line, end='')# 关闭打开的文件
f.close()
-> Python 是一个非常好的语言。
-> 是的,的确非常好!!
f.write(string) 将 字符串 写入到文件中,返回写入的 字符数
# 打开一个文件
f =open("/tmp/foo.txt","w")
num = f.write("Python 是一个非常好的语言。\n是的,的确非常好!!\n")print(num)# 关闭打开的文件
f.close()
->29
# 打开一个文件
f =open("/tmp/foo1.txt","w")# 如果要写入一些不是字符串的东西, 那么将需要先进行转换
value =('www.huawei.com',14)
s =str(value)
f.write(s)# 关闭打开的文件
f.close()
$ cat /tmp/foo1.txt
('www.huawei.com',14)
f.tell() 返回 文件指针当前所处的位置 ,它是从文件开头开始算起的字节数
# 打开一个文件
f =open("/tmp/foo1.tx","r")
f.readline()# 返回当前文件指针位置
num = f.tell()print(num)# 关闭打开的文件
f.close()
# 该实例实现一个简单联系人信息管理import pickle
import os
datafile ='person.data'
line ='======================================='
message ='''
=======================================
Welcome bookmark:
press 1 to show list
press 2 to add pepole
press 3 to edit pepole
press 4 to delete pepole
press 5 to search pepole
press 6 to show menu
press 0 to quit
=======================================
'''print(message)classPerson(object):"""通讯录联系人"""def__init__(self, name, number):
self.name = name
self.number = number
# 获取数据defget_data(filename=datafile):# 文件存在且不为空if os.path.exists(filename)and os.path.getsize(filename):withopen(filename,'rb')as f:return pickle.load(f)returnNone# 写入数据defset_data(name, number, filename=datafile):
personList ={}if get_data()==Noneelse get_data()withopen(filename,'wb')as f:
personList[name]= Person(name,number)
pickle.dump(personList, f)# 保存字典格式的数据到文件defsave_data(dictPerson, filename=datafile):withopen(filename,'wb')as f:
pickle.dump(dictPerson, f)# 显示所有联系人defshow_all():
personList = get_data()if personList:for v in personList.values():print(v.name, v.number)print(line)else:print('not yet person,please add person')print(line)# 添加联系人defadd_person(name, number):
set_data(name, number)print('success add person')print(line)# 编辑联系人defedit_person(name, number):
personList = get_data()if personList:
personList[name]= Person(name, number)
save_data(personList)print('success edit person')print(line)# 删除联系人defdelete_person(name):
personList = get_data()if personList:if name in personList:del personList[name]
save_data(personList)print('success delete person')else:print(name,' is not exists in dict')print(line)# 搜索联系人defsearch_person(name):
personList = get_data()if personList:if name in personList.keys():print(personList.get(name).name, personList.get(name).number)else:print('No this person of ', name)print(line)whileTrue:
num =input('>>')if num =='1':print('show all personList:')
show_all()elif num =='2':print('add person:')
name =input('input name>>')
number =input('input number>>')
add_person(name,number)elif num =='3':print('edit person:')
name =input('input name>>')
number =input('input number>>')
edit_person(name,number)elif num =='4':print('delete person:')
name =input('input name>>')
delete_person(name)elif num =='5':print('search :')
name =input('input name>>')
search_person(name)elif num =='6':print(message)elif num =='0':breakelse:print('input error, please retry')