1.读模式: r /读写模式r+
r:读模式。以只读方式打开文件。文件不存在会报错。文件的指针将会放在文件的开头。
r+:打开一个文件用于读写。文件不存在会报错。文件的指针将会放在文件的开头。
示例:
f = open(‘file‘,encoding=‘utf-8‘) #打开文件(注:必须file文件是已存在的,否则会报错)
print(f.read()) #读文件内容
print(f.readline()) #读一行内容
print(f.readines()) #把文件的每一行放在一个list里面
结果:[‘hello world!\n‘, ‘第二行\n‘, ‘第三行\n‘, ‘第四行\n‘, ‘end‘]
2.写模式:w/写读模式 w+
w:打开一个文件用于写入。如果该文件已存在则将其覆盖(清空原来的内容)。如果该文件不存在,创建新文件。不能读。
w+:打开一个文件用于写读。
示例:
f = open(‘file‘,‘w+’,encoding=‘utf-8‘)
f.write(‘追加内容‘)
3.追加模式:a/a+追加读模式
a:打开一个文件用于追加。如果该文件已存在,不会清空在末尾增加。即,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。不能读。
a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
PS:
#只要沾上了r,文件不存在的就会报错
#只要沾上了w,都会清空原来的内容
做实验:
#1、先开打一个不存在的文件,写点东西
# 2、打开一个已经存的文件,写点东西
# 3、 读内容
练习:
#1、先随机产生一些手机号
#2、写到文件里面
import random #导入random包
#18612343,
#12384234
# 1861253 2945
#print(random.randint(1,9999)) #生成四位随机数
#print(‘1‘.zfill(4)) #补0
f = open(‘phones.txt‘, ‘w‘)
num = input(‘请输入你要产生的手机号个数:‘)
for i in range(int(num)): #
start = ‘1861235‘
random_num = str(random.randint(1, 9999))
new_num = random_num.zfill(4)#补0
phone_num = start+new_num
f.write(phone_num+‘\n‘)
f.close() #关闭文件