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(更多内容见此链接) 一.对文件操作流程 打开文件,得到文件句 ...
随机推荐
- Kindeditor图片上传Controller
asp.net MVC Kindeditor 图片.文件上传所用的Controller [HttpPost, AllowAnonymous] public ActionResult UploadIma ...
- java 编写小工具 尝试 学习(七)
1.在java 编写小工具 尝试 学习(六)里学会了,控件 的随意摆放, 以及大小(x,y,width,height),又根据前面学习的按钮 被点击 的事件监控 的方法 ,点击 按钮 在显示区域显示“ ...
- react系列(二)高阶组件-HOC
高阶组件 简单来说,高阶组件可以看做一个函数,且该函数接受一个组件作为参数,并返回一个新的组件. 我在之前的博客<闭包和类>中提到一个观点,面向对象的好处就在于,易于理解,方便维护和复用. ...
- ZooKeeper系列(3)--基于ZooKeeper实现主从协作
基于ZooKeeper实现主从协作 主-从模式的模型中,主要包括三个角色: 主节点:主要负责监视新的节点和任务,分配任务给可用的从节点; 从节点:通过注册自己,确保主节点看到它们可以执行任务,收到主节 ...
- Oracle特性总结
最近开发项目使用了Oracle,根据总体架构一开始选择使用Mybatis,发现核心模块用Mybatis效率不够,切换到jdbc实现,效率大增.Oracle可是个庞然大物,特性多多,丝毫不能马虎,否则很 ...
- 浅谈React和VDom关系
组件化 组件的封装 组件的复用 组件的封装 视图 数据 视图和数据之间的变化逻辑 import React, {Component} from 'react'; export default clas ...
- 04.nginx使用
博客为日常工作学习积累总结: 1.安装依赖包 安装pcre :yum install pcre pcre-devel -y 安装openssl:yum install openssl o ...
- 替代Xshell的良心国产软件 FinalShell
今年8月份NetSarang公司旗下软件家族的官方版本被爆被植入后门着实让我们常用的Xshell,Xftp等工具火了一把,很长时间都是在用Xshell,不过最近发现了一款同类产品FinalShell, ...
- Linux中Zookeeper部署和集群部署
自己网上下载安装包,我下载的是tar.gz安装包直接解压,也可以下载rpm格式 1.下载zookeeper安装包,放到/usr/local/zookeeper安装包网上下载 2.解压文件tar -zx ...
- 虚拟机下linux 系统网卡配置、固定IP地址
1.进入该目录下修改内容 vi /etc/sysconfig/network-scripts/ ifcfg-eth0 TYPE=Ethernet BOOTPROTO=static DEF ...