Python-读写文件
一、读写文件思路:
1、打开文件
2、对文件进行读/写 三种模式:r w a,默认用r
3、关闭文件
二、打开文件
open()
1、有没有清空以前的内容
2、能不能读到东西
3、文件不存在的时候会不会报错
# open(r'e:\user\niuhanyang\xxxx\a.txt',)#原字符
有路径的话,用r
三、读文件
文件名称为“文件读写”,
文件内容为:“哈哈哈 呵呵呵 哟哟哟”,分行显示。
读文件内容代码如下:
1、读取文件里面的所有内容
f = open(r'文件读写',encoding='utf-8') #读 print('read',f.read())# 获取文件里面的所有内容 # read 哈哈哈 # 呵呵呵 # 哟哟哟
2、读取文件内一行的数据
f = open(r'文件读写',encoding='utf-8') print('readline',f.readline())# 读取文件一行的数据 # readline 哈哈哈
3、获取文件里面所有的数据,每一行的数据放到一个list里面
f = open(r'文件读写',encoding='utf-8') print('readlines',f.readlines())# 获取文件里面所有的数据,每一行的数据放到一个list里面 # readlines ['哈哈哈\n', '呵呵呵\n', '哟哟哟\n']
四、写文件
1、写完文件后需要读文件时,需要将文件指针移动到最前面,使用f.seek(0)
f = open(r'文件读写','a+',encoding='utf-8') f.write('adbceww') f.seek(0)#移动文件指针到最前面 print(f.read()) # 哈哈哈 # 呵呵呵 # 哟哟哟 # adbceww
2、传一个list,然后把list里面的每一个元素写入到文件中
f = open(r'文件读写','a+',encoding='utf-8') names = ['lxy\n','zyf\n','zxd\n','lcs\n'] # for name in names: # f.write(name+'\n') f.writelines(names) #传一个list,然后把list里面的每一个元素写入到文件中,但是元素必须是str类型 f.seek(0)#移动文件指针到最前面 print('read',f.read()) f.close()#关闭文件 # 输出结果: # read 哈哈哈 # 呵呵呵 # 哟哟哟lxy # zyf # zxd # lcs
文件打开的三种模式:
# 文件打开的三种模式:只读模式、 写模式、 追加模式
# r w
# 只能读 会覆盖以前文件里面的
# 不能写 内容,不能读
# 文件不存在会报错 文件不存在,会创建文件
# 读写模式 r+ 打开不存在的文件时也会报错
# 写读模式 w+
# 只要和r有关的,文件不存在肯定会报错(即r、r+打开不存在的文件都会报错)
# 只要和w有关的,文件内容肯定会被清空
a只能读不能写
# 追加模式 a+
# 能读,能写,不会清空以前的内容,文件不存在会创建
r、r+打开不存在的文件都会报错,r、r+只能读不能写,写会出问题
names = ['fd','lhy','hzy','wq'] new_name = '\n'.join(names) f.write(new_name) f.close()
numbers = [1,2,3,4,56] for index in range(len(numbers)): numbers[index] = str(numbers[index]) print(numbers) f.writelines(numbers) f.close()
在文件内容的开始写入内容要怎么做:
方式一(繁琐):
f = open('a.txt','a+',encoding='utf-8') #三种模式 f.seek(0) result = f.read() new_result = 'aaaaa'+result f.close() f2 = open('a.txt','a+',encoding='utf-8') f2.write(new_result) f2.close()
方式二:
f = open('a.txt','a+',encoding='utf-8') #三种模式 f.seek(0) result = f.read() new_result = result.upper() f.seek(0)# 清空文件内容之前要将指针放在最前面 f.truncate() #清空文件内容 f.write(new_result) f.close()
练习题:
# reg.py
#1、注册的时候还要校验用户是否存在,账号密码存在在文件里面
#输入为空的
login.py
#2、登录的时候从里面存账号密码的文件里面获取到账号密码,然后判断
#需要校验用户是否存在
#输入为空的