Python中的文件操作

文件操作使用的函数是open

1.文件操作模式:

w:写

1、open在写文件的时候,首先判断被操作的文件是否存在

2、如果不存在,就在内部自动创建一个文件

r:读

1、open读取文件的时候,首先判断被操作的文件是否存在

2、如果文件不存在,就报FileNotFoundError的错误信息提示

文件操作步骤

1、打开

2、操作

3、关闭

1.1文件写的过程

1 f=open('我最帅.txt','w',encoding='utf-8')
2 f.write('hello,帅哥')   #write 书写为单行 writelines
3 f.close()
View Code

1.2文件读的过程

1 f=open('函数.py','r',encoding='utf-8')
2 # 读取文件所有内容
3 print(f.read())
4 f.close()
View Code

 

2.with上下文

我们对文件的操作,一般情况下,分为三种情况,

分别是:打开文件,操作文件(读写等),关闭文件。

在Python的语言中,提供了对文件的操作方法,

默认open()是打开文件并且是只读模式,事实上打开和关闭文件比较很好的理解,操作文件,

那么在操作文件前提打开文件,打开文件就涉及到以什么样的模式来打开文件,比如读,写,只读,

只写,二进制等模式

具体总结如下:

r:只读模式

w:只写模式(不可读,不存在就创建,存在就清空内容)

x:只写模式(不可读,不存在就创建,存在就报错)

a:增加模式(可读,不存在就创建,存在只增加内容)

'+'表示可以同时读取某个文件,具体为:

r+:读写

w+:写读

x+:写读

a+:写读

2.1with上下文 书写   

1 with open('world.txt','w',encoding='utf-8') as f:    #将open('world.txt','w',encoding='utf-8') 赋值给f
2     f.writelines('''学习有什么用
3     除了钱多
4     能出去玩
5     长知识
6     还能干啥?''')
View Code

2.2with上下文 读取

1 with open('world.txt','r',encoding='utf-8') as f:
2     #读取文件的所有内容
3     print(f.read())
4     #读取文件的第一行内容
5     print(f.readline())    #readline为按行读取
6     #按行读取文件的内容,如果按行读取的话 则带有循环的性质
7     for item in f.readlines():
8         print(item.strip())     #strip去掉输入内容当中的空格
View Code

3.将函数实战案例进行改造

 1 def register():
 2     username=input('请输入你的账户:\n')
 3     password=input('请输入你的密码:\n')
 4     temp=username+','+password
 5     with open('world.txt','w',encoding='utf-8') as f:
 6         f.write(temp)
 7     # f=(open('world.txt','w'))
 8     # f.write(temp)
 9     # f.close()
10 
11 def login():
12     username=input('请输入你的账户:\n')
13     password=input('请输入你的密码:\n')
14     with open('world.txt','r') as f:
15         # f=(open('world.txt','r'))
16         lists=f.read().split(',')
17     if username==lists[0] and password==lists[1]:
18         print('登录成功')
19     else:
20         print('登录失败')
21 
22 while True:
23     f=int(input('1.注册账号 2.登录账号 3.其他选项:\n'))
24     if f==1:
25         register()
26     elif f==2:
27         login()
28     elif f==3:
29         break
View Code

在login()函数当中,我们可以看到

运用了with open('world'.txt,'r') as f:

由于该代码中自带算法 所以我们不需要输入f.close()

 

posted on 2021-11-29 19:20  钢镚芽儿哟  阅读(256)  评论(0)    收藏  举报

导航