Python基础 之 文件操作
2018-06-18 03:24:17来源:未知 阅读 ()
文件操作
一、路径
文件绝对路径:d:\python.txt
文件相对路径:在IDEA左边的文件夹中
二、编码方式
utf-8 gbk...
三、操作方式
1.只读
r 和 rb
绝对路径的打开操作 f = open('d:\even.txt',mode='r',encoding='UTF-8') content = f.read() print(content) f.close() #test #简单的文件操作示例 在idea文件夹中打开操作 f = open('even',mode='r',encoding='UTF-8') content = f.read() print(content) f.close() f = open('even',mode='rb') #以rb方式打开,后面则不用再跟encoding='UTF-8' content = f.read() print(content) f.close() #b'idea\xe4\xb8\xad\xe7\x9a\x84\xe7\xa4\xba\xe4\xbe\x8b'
*** 以什么编码方式储存的文件,就以什么编码打开进行操作。
2.只写
w 和 wb
#对于w,没有此文件就会创建文件 f = open('log',mode='w',encoding='utf-8') #log为创建的文件名 f.write('创建测试') #创建文件要写入的的内容 f.close()
3.追加内容
a 和 a+
#a f = open('log',mode='a',encoding='utf-8') #log为需要追加的文件名 f.write('佳琪') #追加要写入的的内容 f.close() #a+ f = open('log',mode='a+',encoding='utf-8') f.write('77777') f.seek(0) print(f.read()) f.close()
***** 4.读写
r+ 和 r+b
f = open('log',mode='r+',encoding='utf-8') print(f.read()) #先读 f.write('大,小') #后写 f.close() #如果在r+的模式下先写后读,会将此次写入的字符从这个文件开始进行覆盖写入 f = open('log',mode='r+',encoding='utf-8') f.write('大,小') #先写 print(f.read()) #后读 f.close()
5.写读
w+ 和 w+b
f = open('log',mode='w+',encoding='utf-8') f.write('66666') #先写 f.seek(0) #调整光标位置至开始 print(f.read()) #后读 f.close() #66666
*** 文件操作之后 一定要加.close()
如果不加。可能未写入磁盘,导致文件部分丢失。
因为操作完,数据大多在内存里。
例如把word写上十几页后,直接把电脑关闭了。
*****最常用的
r+
四、文件操作功能详解
1.seek 和 tell
seek:按照字节定光标的位置
tell:告诉你光标的位置
obj = open('log',mode='r+',encoding='utf-8') content = f.read(3) # 读前3个字符 f.seek(3) # 按照字节定光标的位置 f.tell() # 告诉你光标的位置 print(f.tell()) content = f.read() print(content)
2.readline 和 readlines
line = f.readline() # 一行一行的读 line = f.readlines() # 每一行当成列表中的一个元素,添加到list中
3.readable
f.readable() # 是否可读
4.打开多个
with open('log',mode='r+',encoding='utf-8') as obj: print(obj.read()) #f.close() 该格式可不写f.close(),自动关闭 #可以打开多个,且末尾不用加close with open('log',mode='r+',encoding='utf-8') as f1,\ open('log',mode='r+',encoding='utf-8') as f2: print(f1.read()) print(f2.read())
5.删除和重命名
修改文件的本质是先创建一个文件的bak然后进行修改,再删除源文件,再将bak文件重命名为源文件名
with open('even',encoding='utf-8') as f,open('even.bak','w',encoding='utf-8') as f2: for line in f: if '苹果' in line: #even中的内容:苹果 line = line.replace('苹果','梨子') #写文件 f2.write(line)
import os os.remove('even') #删除文件 os.rename('even.bak','even') #重命名文件 将even.bak重命名为even
五、练习
注册和登录
username = input('请输入你要注册的用户名>>>') password = input('请输入你要注册的密码>>>') with open('list_of_info',mode='w',encoding='utf-8') as f: #跟上面绿色注释的代码等效,末尾不用加close() f.write('{}\n{}'.format(username,password))
print('恭喜您,注册成功')
lis = [] i = 0 while i < 3: usn = input('请输入你的用户名:') pwd = input('请输入你的密码:')
with open('list_of_info',mode='r+',encoding='utf-8') as f1: for line in f1: lis.append(line)
if usn == lis[0].strip() and pwd == lis[1].strip(): print('登录成功') break else:print('账号或密码错误') i+=1
username = input('请输入你要注册的用户名>>>') password = input('请输入你要注册的密码>>>') f = open('list_of_info2',mode='w',encoding='utf-8') f.write('{}\n{}'.format(username,password)) f.close() # with open('list_of_info',mode='w',encoding='utf-8') as f: #跟上面代码等效,末尾不用加close() # f.write('{}\n{}'.format(username,password)) print('恭喜您,注册成功') lis = [] #定义一个空的list类lis i = 0 #定义一个变量i为0,作为次数限制 while i < 3: #定义一个while循环 i < 3来限制错误次数 usn = input('请输入你的用户名:') #重新定义新的input输入变量usn用来进行登录 pwd = input('请输入你的密码:') #重新定义新的input输入变量pwd用来进行登录 f1 = open('list_of_info2', mode='r+', encoding='utf-8') f.close() #with open('list_of_info',mode='r+',encoding='utf-8') as f1: for line in f1: #f1进行for循环并用line表示 lis.append(line) #将line添加至之前定义的空lis中 if usn == lis[0].strip() and pwd == lis[1].strip(): #如果用户名和密码都能对应 则登录成功 print('登录成功') break else:print('账号和密码错误') i+=1
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:python_str的应用
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash