文件操作

一、路径

文件绝对路径: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基础 之 文件操作的更多相关文章

  1. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  2. python基础之文件操作

    对于文件操作中最简单的操作就是使用print函数将文件输出到屏幕中,但是这种操作并不能是文件保存到磁盘中去,如果下调用该数据还的重新输入等. 而在python中提供了必要的函数和方法进行默认情况下的文 ...

  3. Day3 Python基础学习——文件操作、函数

    一.文件操作 1.对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 #打开文件,读写文件,关闭文件 http://www.cnblogs.com/linha ...

  4. python基础14_文件操作

    文件操作,通常是打开,读,写,追加等.主要涉及 编码 的问题. #!/usr/bin/env python # coding:utf-8 ## open实际上是从OS请求,得到文件句柄 f = ope ...

  5. 【python基础】文件操作

    文件操作目录 一 .文件操作 二 .打开文件的模式 三 .操作文件的方法 四 .文件内光标移动 五. 文件的修改 一.文件操作介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用pyt ...

  6. python基础4文件操作

    在磁盘上读取文件的 功能都是由操作系统来实现的,不允许普通的程序直接操作磁盘,所以读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据( ...

  7. Python基础--基本文件操作

    全部的编程语言都一样,学完了一些自带的数据机构后,就要操作文件了. 文件操作才是实战中的王道. 所以,今天就来分享一下Python中关于文件的一些基本操作. open方法 文件模式 这个模式对于写入文 ...

  8. python基础(10):文件操作

    1. 初识文件操作 使⽤python来读写⽂件是非常简单的操作.我们使⽤open()函数来打开⼀个⽂件,获取到⽂ 件句柄,然后通过⽂件句柄就可以进⾏各种各样的操作了,根据打开⽅式的不同能够执⾏的操 作 ...

  9. Python基础学习——文件操作、函数

    一.文件操作 文件操作链接:http://www.cnblogs.com/linhaifeng/articles/5984922.html(更多内容见此链接) 一.对文件操作流程 打开文件,得到文件句 ...

随机推荐

  1. c++中如 <类名 类名::对象> 是什么意思

    CComplex CComplex::add(CComplex &x) (这一句 不懂为何 类名 类名::对象) { CComplex y(real+x.real,image+x.image) ...

  2. Reading Notes : 180215 计算机系统

    读书<计算机组成原理>,<鸟哥的Linux私房菜 基础篇>百度百科,内容摘自<计算机组成原理>,<鸟哥的Linux私房菜 基础篇> 计算机系统 在前面几 ...

  3. SQL注入点的类型

    1.数字型注入点 形如“http://****?ID=55”,这类注入的参数是“数字”,因此称为“数字型注入点”. 此类注入点提交的SQL语句,其原形大致为:Select * from 表名 wher ...

  4. 01-http简介-四层 七层 三次握手

    HTTP简介.请求方法与响应状态码 接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于T ...

  5. scala中“=>”的4种使用场景

    一直以来都对scala中"=>"的使用比较迷茫,也不知道他表示什么意思.今天就它的使用场景列举如下,希望可以共同探讨. 表示函数的返回类型(Function Type) sc ...

  6. vmware 虚拟机设置 redhat 桥接模式

    1.设置 vmware 网络模式 2.设置 linux 网络模式

  7. hadoop 部署配置

    配置hadoop: 第一个:hadoop-env.sh export JAVA_HOME=/usr/java/jdk1.7.0_65 选择修改日志文件目录(默认目录内日志文件太多易混): export ...

  8. S3C2440启动程序运行过程

    s3c2440有两种启动方式,一种Nor flash 启动,一种Nand flash 启动. 由于NAND FLASH是接在NAND FLASH控制器上而不是系统总线上,所以没有在S3C2440A的8 ...

  9. 关于mysql 8.0.13zip包安装

    mysql 8.0.13默认有一个data文件夹,这个文件夹得删了,不然安装服务时候会有日志文件提示报错: Failed to find valid data directory. Data Dict ...

  10. linux 搭建ss

    因为收藏的各种教程被xx,所以决定自己写 第一步.安装ss sudo pip install shadowsocks 第二步.配置IP.端口.密码.加密方式 vi /etc/shadowsocks.j ...