Python基础知识(八)----文件操作
文件操作
一丶文件操作初识
###f=open('文件名','模式',编码):
#open() # 调用操作系统打开文件
#mode #对文件的操作方式
#encoding # 文件的编码格式 存储编码要统一
# f #文件句柄,操作文件的对象
f=open('a.txt',mode='r',encoding='utf-8'):
f.read()
f.close()
###文件操作步骤
#1.开文件 open
#2.操作文件:
#3.关闭文件 ,关闭之后就不能再操作文件
二丶文件读写操作的模式(r,w,rb,wb)
###r 模式 (文件的读模式)
f=open('a','r',encoding='utf-8')
content=f.read() # 全读,再次读取就没有内容.不建议使用(因为时一次性把文件全部加载到内存中,造成内存溢出)
content=f.read(3) # 按照字符读取
content=f.readline(3) # 默认读一行 ,读取第一行中的字符读取
content=f.readlines(3) # 一行一行读取,存储到列表中,\n换行符
print(content)
f.close() # 手动关闭文件句柄
###循环遍历读取文本
for i in f: # 一行一行读取 , 防止内存溢出
print(i)
###w模式 (清空写入),写入的内容必须是字符串格式.
# w 分为两步:
#1.先查看有没该文件,没有就创建,有就清空
#2. 在写入
f=open('day08.txt','w',encoding='utf-8')
f.write('123') # 必须是字符串
f.flush() # 在写模式下,将写入内容从内存刷到硬盘上
f.close()
###a模式(在文件末尾,追加写入)
f=open('day08.txt','a',encoding='utf-8')
f.write('123')
f.flush() # 在写模式下,将写入内容从内存刷到硬盘上
f.close()
###rb模式(以二进制的模式读取文件,不指定编码)
####常用于处理读取非文本文件,如视频,图片等
f=open('day08.txt','rb')
print(f.read())
f.close()
#读取结果 "b'\xe5\xa4\xa7\xe5\xa4\x9a\xe6\x92\x92\xe5\xa4\x9a\xe6\x92\x92\xe5\xa4\"
###wb模式(以二进制的模式写文件,不指定编码)
###常用于处理写入非文本文件,如视频,图片等
import requests
ret=requests.get('https://www.baidu.com/img/bd_logo1.png')
print(ret.content)
#将非文本文件写入
f=open('1.png','wb')
f.write(ret.content)
f.flush() # 在写模式下,将写入内容从内存刷到硬盘上
f.close()
三丶相对路径和绝对路径
###绝对路径 从磁盘的根目录开始 (需要转义\\)
E:\File\oldboy学习笔记\Python之路\day08\a
###相对路径 相对于当前文件路径
day08/a
###使用os模块,查看当前工作路径
import os
print(os.getcwd()) #E:\File\oldboy学习笔记\Python之路\day08
***总结:***
\ : 表示绝对路径,从磁盘根目录开始
/ : 表示相对路径,相对于某个文件
四丶文件的不经常用的模式(r+,w+,a+)
### r+ 模式 , 读写模式(先读,再写)
f=open('day08.txt','r+',encoding='utf-8')
content=f.read() #读完,光标在末尾
print(content)
f.write('ABC') #写入内容也在末尾
f.close()
### w+ 模式 , 写读模式(先清空写,再读)
f=open('day08.txt','w+',encoding='utf-8')
f.write('ABC') #光标在末尾
content=f.read() #读时,光标在末尾 .读不到内容
print(content)
f.close()
### a+ 模式 , 追加写读模式(先写,再读)
f=open('day08.txt','a+',encoding='utf-8')
f.write('ABC') #追加写,光标在末尾
content=f.read() #读时,光标在末尾 .读不到内容
print(content)
f.close()
五丶文件其他操作
###文件操作常用的方法
f=open('a','r',encoding='utf-8')
f.tell() # 查看光标 ,返回的是光标当前位置,按照字节算
f.seek() # 移动光标 (参数以:偏移量,参数二:位置)
seek(0,0) #移动文件开始位置
seek(0,1) #光标当前位置
seek(0,2) #移动到文件的末尾位置
seek(3) #按照字节移动
f.truncate() #截断, 按照字节进行截断 , 如果没有参数就按照光标来截断,如果有参数截断到参数位置
六丶with open
##面向对象的上下文管理,
## 自动关闭文件
## 可以同时打开多个文件
with open('day08.txt','r',encoding='utf-8') as f , \
open('new_day08.txt','w',encoding='utf-8') as f1 :
for line in f:
print(line)
七丶修改文件(不废话,看下面程序
Python基础知识(八)----文件操作的更多相关文章
- python基础知识-day7(文件操作)
1.文件IO操作: 1)操作文件使用的函数是open() 2)操作文件的模式: a.r:读取文件 b.w:往文件里边写内容(先删除文件里边已有的内容) c.a:是追加(在文件基础上写入新的内容) d. ...
- python基础知识六 文件的基本操作+菜中菜
基础知识六 文件操作 open():打开 file:文件的位置(路径) mode:操作文件模式 encoding:文件编码方式 f :文件句柄 f = open("1.t ...
- 第三章:Python基础の函数和文件操作实战
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
- python基础3之文件操作、字符编码解码、函数介绍
内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- Python基础7:文件操作
[ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...
- python学习笔记-(七)python基础--集合、文件操作&函数
本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...
- Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数
1. 集合 1.1 特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...
- python基础学习笔记——文件操作
文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...
随机推荐
- [技术博客] 如何避免在代码中多重render
目录 问题发现 方案1 extracted_method and return(父函数and return法) 方案2 子函数yield,父函数调用后{return} 方案3 extracted_me ...
- C# Microsoft.Office.Interop.Owc11 导出excel文件
C# Microsoft.Office.Interop.Owc11 导出excel文件 1.新建项SupremeWindowsForms窗体应用项目(项目平台设置称X86) 注意:因为大多数第三方写的 ...
- vue-cli安装webpack项目及初始配置
这个下载包是自己基于 webpack 搞的,可以看看https://github.com/chichengyu/webpack vue-cli安装 输入 npm install vue-cli -g ...
- gradle/gradle plugin/Android studio关系
gradle - 构建工具,存储于Users/stono/.gradle/wrapper/dists Adroid Studio- IDE Gradle plugin - 在AS中使用Gradle的插 ...
- android测试和iOS测试的区别
一.常识性区别 二.导航方式 iOS:Tab放在页面底部,不能通过滑动来切换,只能点击.也有放在上面的,也不能滑动,但有些Tab本身可以滑动,比如天猫的.还有新闻类的应用. Android:一般放在页 ...
- XML-Signature 语法和签名
一段 XML-signature 的 demo: <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> &l ...
- golang调用c动态库
golang调用c动态库 简介 golang调用c语言动态库,动态方式调用,可指定动态库路径,无需系统目录下 核心技术点 封装c动态库 go语言调用c代码 实例代码 封装c动态库 头文件 test_s ...
- python开发笔记-str转字典
后台接收到post请求数据格式为json格式的字符串,不能直接用字典的get方法 909090909090909090909090909090909 Internal Server Error: /g ...
- (原)关于使用imagemagick将gif叠加到图片或者画布上的方法,以及疑难杂症
今天因为项目过程中,有一个小需求,需要将一个指定的gif按照指定大小,叠加到画布的指定位置上,本来对于熟悉这块的人,简直就是小菜一碟哈,但本人因为对imagemagick的不熟悉,导致在这个需求上摸索 ...
- 和至少为K的最短子数组
返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 如果没有和至少为 K 的非空子数组,返回 -1 . 示例 1: 输入:A = [1], K = 1 输出:1 示例 2: 输入:A = ...
1.文件IO操作: 1)操作文件使用的函数是open() 2)操作文件的模式: a.r:读取文件 b.w:往文件里边写内容(先删除文件里边已有的内容) c.a:是追加(在文件基础上写入新的内容) d. ...
基础知识六 文件操作 open():打开 file:文件的位置(路径) mode:操作文件模式 encoding:文件编码方式 f :文件句柄 f = open("1.t ...
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
[ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...
本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...
1. 集合 1.1 特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...
文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...
目录 问题发现 方案1 extracted_method and return(父函数and return法) 方案2 子函数yield,父函数调用后{return} 方案3 extracted_me ...
C# Microsoft.Office.Interop.Owc11 导出excel文件 1.新建项SupremeWindowsForms窗体应用项目(项目平台设置称X86) 注意:因为大多数第三方写的 ...
这个下载包是自己基于 webpack 搞的,可以看看https://github.com/chichengyu/webpack vue-cli安装 输入 npm install vue-cli -g ...
gradle - 构建工具,存储于Users/stono/.gradle/wrapper/dists Adroid Studio- IDE Gradle plugin - 在AS中使用Gradle的插 ...
一.常识性区别 二.导航方式 iOS:Tab放在页面底部,不能通过滑动来切换,只能点击.也有放在上面的,也不能滑动,但有些Tab本身可以滑动,比如天猫的.还有新闻类的应用. Android:一般放在页 ...
一段 XML-signature 的 demo: <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> &l ...
golang调用c动态库 简介 golang调用c语言动态库,动态方式调用,可指定动态库路径,无需系统目录下 核心技术点 封装c动态库 go语言调用c代码 实例代码 封装c动态库 头文件 test_s ...
后台接收到post请求数据格式为json格式的字符串,不能直接用字典的get方法 909090909090909090909090909090909 Internal Server Error: /g ...
今天因为项目过程中,有一个小需求,需要将一个指定的gif按照指定大小,叠加到画布的指定位置上,本来对于熟悉这块的人,简直就是小菜一碟哈,但本人因为对imagemagick的不熟悉,导致在这个需求上摸索 ...
返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 如果没有和至少为 K 的非空子数组,返回 -1 . 示例 1: 输入:A = [1], K = 1 输出:1 示例 2: 输入:A = ...