1. 操作文件

1.1 操作的方法

f = open("文件路径",mode="模式",encoding="编码")

open()  # 调用操作系统打开文件
mode # 对文件的操作方式
encoding # 文件的编码 -- 存储编码要统一
win -- gbk
linux -- utf-8
mac -- utf-8 最常用的就是utf-8

1.2 mode的种类(识记)

r 读

w 清空写

a 追加写

rb 二进制读

wb 二进制写

ab 二进制追加写

r+ 读写

r+b 读写非文本文件

f 文件句柄操作文件的相当于锅把

2. 文件的读

2.1读

文件全部读取完后以后,再次读取就没有内容(识记点)

2.2 读的方法:(识记)

f = open("a",mode="r",encoding="gbk")
print(f.read()) # 全部读取
print(f.read(3)) # 字符读取
print(f.readlin(()) # 读取一行内容中多个字符
print(f.readlins(()) # 一行一行读取,存储到列表中 \n是换行

2.3 文件的路径

绝对路径: 从磁盘的根处查找

相对路径: 相对于当前文件进行查找的

import os
print(os.getcwd()) *# 查看当前工作路径*
print(repr("F:\a\文件初识.txt"))
print("F:\a\文件初识.txt")

2.4 for循环操作方法

一行一行读取 -- 防止内存溢出
f = open("a",mode="r",encoding="gbk")
for i in f: # 迭代读取
print(i)

3. 文件的写

3.1 写的方法

w 清空写
w 分为两步
1. 没有文件,创建文件,有文件清空文件
2. 再写入
a 追加写
f = open("day8",mode="w",encoding="utf-8")
f.write("123")
f.close() # 关闭文件

3.2 操作文件过程

1.打开文件
2.操作文件
3.关闭文件
例题
f = open("a",mode="r",encoding="gbk")
print(f.read())
f.close() # 关闭文件后就不能继续读取了 f = open("a",mode="a",encoding="gbk")
f.write("啊啊啊,好困啊")
在文件末尾添加

4. 读以及写非文本文件

4.1 读非文本文件的方法

f = open("1.jpg",mode="rb") # rb ,wb,ab 不能指定编码
print(f.read()) # read() 全部读取
print(f.read(3)) # 3表示读取前3个字节

4.2 写非文本文件的方法

import requests
ret = requests.get("http://www.521609.com/uploads/allimg/151124/1-1511241G251317.png")
f = open("2.jpg",mode="wb")
f.write(ret.content)
f.close()

5. 文件的+模式

5.1 mode种类 (识记)

r 读  r+ 读写
w 写 w+ 写读
a 写 a+ 写读

5.2 错误示范

f = open("day8",mode="r+",encoding="utf-8")
f.write("你好啊")
print(f.read())
# 这里mode用的是r+读写模式,识记实际操作是写读模式,所以错误❌操作

5.3 正确示范

f = open("day8",mode="r+",encoding="utf-8")
print(f.read())
f.write("脑瓜疼啊脑瓜疼") # -- 后期开发中使用频率比较低

5.4 w+ 写读

f = open("day8",mode="w+",encoding="utf-8")
f.write("你您你你")
print(f.read())

5.4 a+ 追加写读

f = open("a",mode="a+",encoding="gbk")
print(f.tell()) # 查看的是字节
f.seek(0)
print(f.read(1)) # 字符
f.write("真的废物")

5.5 其他操作

5.5.1 查看光标

tell()  返回值 返回的就是当前光标的位置

5.5.2 移动光标

  seek(0,0) 文件开始位置
seek(0,1) 光标的当前位置
seek(0,2) 文件末尾位置
seek(3) 按照字节调节 使用utf-8是3 gbk是2

6.with open 打开文件的方式

6.1 方法:

with open("day8",mode="r",encoding="utf-8") as f:  # 面向对象中上下文管理
print(f.read())
  • with open 帮助自动关闭文件

  • with open 同时操作多个文件

6.2 例题:

with open("day8",mode="r",encoding="utf-8") as f,\
open("a",mode="w",encoding="gbk") as f1:
print(f.read())
f1.write("真饿!")

7.文件的修改

7.1 内容替换

with open("day8",mode="r+",encoding="utf-8")as f:
content = f.read() # 先读
content = content.replace("您","你") #将您替换成你
f.seek(0,0) # 将光标移动到行首位置
f.write(content) # 将内容写入文件

7.2 文件的修改

原理: 打开一个旧文件,同时打开一个新的文件

with open("day8",mode="r",encoding="utf-8")as f,\ # 打开一个旧的文件
open("new_day8",mode="a",encoding="utf-8")as f1: # 打开一个新的文件
for i in f: # 循环旧文件中的内容
content = i.replace("你","我") # 将旧文件内容中的你换成我
f1.write(content) # 写入到新文件中
# 关键的来了
import os # 导入系统模块 # 备份原数据(重新起个名字),然后删除原文件
os.remove("day8") # 原数据可以使用rename来做备份
os.rename("new_day8","day8") # 将替换后的新文件改名成旧文件名字

代码统计

# 文件夹的打开:
f = open("文件路径",mode="模式",encoding="编码")
# 文件的读取
f = open("a",mode="r",encoding="gbk")
print(f.read()) # 全部读取
print(f.read(3)) # 字符读取
print(f.readlin(()) # 读取一行内容中多个字符
print(f.readlins(()) # 一行一行读取,存储到列表中 \n是换行
# 获取当前工作路径
import os
print(os.getcwd()) *# 查看当前工作路径*
# for循环操作方法
f = open("a",mode="r",encoding="gbk")
for i in f: # 迭代读取
print(i) #一行一行读取 -- 防止内存溢出
# 文件的写
f = open("day8",mode="w",encoding="utf-8")
f.write("123")
f.close() # 关闭文件
f = open("a",mode="r",encoding="gbk")
print(f.read())
f.close() # 关闭文件后就不能继续读取了 f = open("a",mode="a",encoding="gbk")
f.write("啊啊啊,好困啊")
在文件末尾添加

python之文件操作的初识的更多相关文章

  1. 孤荷凌寒自学python第三十三天python的文件操作初识

     孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...

  2. Python :open文件操作,配合read()使用!

    python:open/文件操作 open/文件操作f=open('/tmp/hello','w') #open(路径+文件名,读写模式) 如何打开文件 handle=open(file_name,a ...

  3. Python 常见文件操作的函数示例(转)

    转自:http://www.cnblogs.com/txw1958/archive/2012/03/08/2385540.html # -*-coding:utf8 -*- ''''' Python常 ...

  4. 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容

     孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...

  5. python中文件操作的六种模式及对文件某一行进行修改的方法

    一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...

  6. python中文件操作的其他方法

    前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r', ...

  7. Python常见文件操作的函数示例

    # -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...

  8. python的文件操作及简单的用例

    一.python的文件操作介绍 1.文件操作函数介绍 open() 打开一个文件 语法:open(file, mode='r', buffering=-1, encoding=None, errors ...

  9. python基本文件操作

    python文件操作 python的文件操作相对于java复杂的IO流简单了好多,只要关心文件的读和写就行了 基本的文件操作 要注意的是,当不存在某路径的文件时,w,a模式会自动新建此文件夹,当读模式 ...

随机推荐

  1. Go语言入门——数组、切片和映射

    按照以往开一些专题的风格,第一篇一般都是“从HelloWorld开始” 但是对于Go,思来想去,感觉真的从“HelloWorld”说起,压根撑不住一篇的篇幅,因为Go的HelloWorld太简单了. ...

  2. 深度卷积网络-Inception系列

    目录 1. Inception V1 1.1 Inception module 2. Inception V2 3. Inception V3 4. Inception V4, Inception-R ...

  3. 洛谷P1031 均分纸牌

    P1031 均分纸牌 题目描述 有 N 堆纸牌,编号分别为 1,2,…, N.每堆上有若干张,但纸牌总数必为 N 的倍数.可以在任一堆上取若干张纸牌,然后移动. 移牌规则为:在编号为 1 堆上取的纸牌 ...

  4. 洛谷P2018 消息传递

    P2018 消息传递 题目描述 巴蜀国的社会等级森严,除了国王之外,每个人均有且只有一个直接上级,当然国王没有上级.如果A是B的上级,B是C的上级,那么A就是C的上级.绝对不会出现这样的关系:A是B的 ...

  5. 深入V8引擎-Time模块介绍

    积跬步,行千里,先从最简单的开始写. 这一篇介绍V8中的时间模块,与libuv粗糙的update_loop_time方法不同,V8有一套独立完整的类负责管理时间. 该类位于src/base/platf ...

  6. 详解环境搭建SSM

    1.概述: SSM即为spring 4 +spring mvc +mybatis 3.4.6 推荐使用maven或者gradle 来配置 下面给出maven配置方式 2.项目结构: 新建web项目 这 ...

  7. Codeforces 1159E(拓扑序、思路)

    要点 序列上各位置之间的关系常用连边的手段转化为图的问题. 经过一番举例探索不难发现当存在两条有向边交叉时是非法的. -1是模糊的,也就是填多少都可以,那为了尽量避免交叉我们贪心地让它后面那个连它就行 ...

  8. Yii2.0权限系统,使用PhpManager的方式

    网上搜了一大堆yii2.0权限系统,大抵都是千篇一律,而且基本上都是DbManager.看了半天官方文档之后,终于知道了PhpManager的方式下,是怎么引入权限系统.介绍下我自己的使用.首先,配置 ...

  9. 软件模拟I2C时输入与输出切换

    一 为达到类似C51的操作需要添加以下位带操作:#include "stm32f10x_gpio.h"#include "stm32f10x_conf.h" / ...

  10. C#学习笔记:foreach原理

    这篇随笔是对上一篇随笔C#关键字:yield的扩展. 关于foreach 首先,对于 foreach ,大家应该都非常熟悉,这里就简单的描述下. foreach 语句用于对实现  System.Col ...