Python基础 之 文件操作
文件操作
一、路径
文件绝对路径: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('')
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('') #先写
f.seek(0) #调整光标位置至开始
print(f.read()) #后读
f.close()
#
*** 文件操作之后 一定要加.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)
seek 和 tell
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
终极傻瓜注释版本
Python基础 之 文件操作的更多相关文章
- python基础篇(文件操作)
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...
- python基础之文件操作
对于文件操作中最简单的操作就是使用print函数将文件输出到屏幕中,但是这种操作并不能是文件保存到磁盘中去,如果下调用该数据还的重新输入等. 而在python中提供了必要的函数和方法进行默认情况下的文 ...
- Day3 Python基础学习——文件操作、函数
一.文件操作 1.对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 #打开文件,读写文件,关闭文件 http://www.cnblogs.com/linha ...
- python基础14_文件操作
文件操作,通常是打开,读,写,追加等.主要涉及 编码 的问题. #!/usr/bin/env python # coding:utf-8 ## open实际上是从OS请求,得到文件句柄 f = ope ...
- 【python基础】文件操作
文件操作目录 一 .文件操作 二 .打开文件的模式 三 .操作文件的方法 四 .文件内光标移动 五. 文件的修改 一.文件操作介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用pyt ...
- python基础4文件操作
在磁盘上读取文件的 功能都是由操作系统来实现的,不允许普通的程序直接操作磁盘,所以读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据( ...
- Python基础--基本文件操作
全部的编程语言都一样,学完了一些自带的数据机构后,就要操作文件了. 文件操作才是实战中的王道. 所以,今天就来分享一下Python中关于文件的一些基本操作. open方法 文件模式 这个模式对于写入文 ...
- python基础(10):文件操作
1. 初识文件操作 使⽤python来读写⽂件是非常简单的操作.我们使⽤open()函数来打开⼀个⽂件,获取到⽂ 件句柄,然后通过⽂件句柄就可以进⾏各种各样的操作了,根据打开⽅式的不同能够执⾏的操 作 ...
- Python基础学习——文件操作、函数
一.文件操作 文件操作链接:http://www.cnblogs.com/linhaifeng/articles/5984922.html(更多内容见此链接) 一.对文件操作流程 打开文件,得到文件句 ...
随机推荐
- 01-Python学习笔记-基础语法
Python标识符 -d 在解析时显示调试信息 -O 生成优化代码 ( .pyo 文件 ) -S 启动时不引入查找Python路径的位置 - ...
- Java使用正则解决问题
分析以下需求,并用代码实现 (根据描述写匹配手机号和邮箱的正则表达式) 1.根据描述写出正则表达式 (1)手机号正则: 第一位为1 第二位为3或4或5或7或8 第三~十一位为0~9的其中一个数字 (2 ...
- 关于chrome浏览器不能更新js的问题
今天写程序时,突然发现无论我怎么改本地js,用chrome打开时,均是改动之前的效果,F12查看Sources时发现js文件并没有被改动.由此引发的问题,经查询解决方法如下: F12后按F1,出现Se ...
- CSS实现图片等比例缩小不变形
<img src="../images/bg1.jpg" alt="" /> img { /*等宽缩小不变形*/ /*width: 100%;*/ ...
- JavaScript 中 this 的原理
一.问题 学习 JavaScript 其中一个标志就是理解下面两种写法,会输出有不一样的结果. var obj = { foo: function () {} }; var foo = obj.foo ...
- Spring Security学习笔记(三)
之前提到过认证后怎么存放用户信息,令牌token是一种方式,session是另一种方式,这里介绍使用spring session data redis存储httpSession. 添加了以上依赖后,我 ...
- h5禁用手机input点击放大
最近项目做的是h5的手机移动端,在用苹果浏览器测试时,弹出框输入信息会自动拉伸屏幕,并且不会像安卓一样回来. 网上查找说设置浏览器自适应头,但是并没有效果, <meta name="v ...
- operator.attrgetter() 进行对象排序
## 使用operator.attrgetter() 进行对象排序 from operator import attrgetter class Student: def __init__(self, ...
- 20145234黄斐《Java程序设计》第七周学习总结
教材学习内容总结 Lambda语法 Lambda去可以重复,符合DRY原则,而且Lambda表达式可读性更好,操作更简单 匿名类型最大的问题就在于其冗余的语法,lambda表达式是匿名方法,它提供了轻 ...
- XNA+WPF solution worked
Cory Petosky's website Edit 11/17/2010: While this article's XNA+WPF solution worked when I wrote it ...