基础知识六 文件操作

​ open():打开

​ file:文件的位置(路径)

​ mode:操作文件模式

​ encoding:文件编码方式

​ f :文件句柄

f = open("1.txt",mode = 'r',encoding = 'utf-8')
print(f.read())
f.close

1.文件操作模式:

​ r,w,a(重要)

​ rb,wb,ab(次要)

​ r+,w+,a+

1.1 r/w/a

1. r操作:
f = open('1.txt','r')
print(f.read()) #全部读取
print(f.read(5))#按照字符进行读取,前5个
print(f.readline())#读取一行内容,自动换行
print(f.readline().strip())#拖\n
print(f.readlines())#一行一行读,存为列表 #解决大文件:
for i in f:
print(i)#本质就是一行一行进行读取
2. w操作:
  1. 先清空文件
  2. 写入文件
f = open('1.txt','w',encoding='utf-8')
f.write('13030308\n')
f.write('456456\n')
f.close()
3. a操作:追加操作
#在源文件的基础上进行添加
f = open('1.txt','a',encoding='utf-8')
f.write('13030308\n')
f.write('456456\n')
f.close()

1.2. b操作:rb/wb/ab

#rb:
f1 = open('1.jpg','rb')
print(f1.read())
print(f1.read(3))#按照字节读取,读取前3个字节
#wb:
f = open('3.jpg','wb')
f.write(f1.read())
#ab:
f = open('2.jpg','ab')
f.write('你好啊',encode = 'utf-8')
1.3 +操作
1. r+:读写。应该先读后写
#错误示范
f = open('1.txt','r+')
#f = write('cx你太美')
#print(f.read())
#正确
print(f.read())
f = write('cx你太美')
2. w+ :清空写读
#读不到内容
f = open('1.txt','w+')
f = write('cx你太美')#光标问题
print(f.read())
3. a+:追加写读
#读不到内容
f = open('1.txt','a+')
f = write('cx你太美')#光标问题
print(f.read())

2.菜中菜:

1.f.tell(): 返回的是字节数
2.f.seek(): 移动光标,
  1. seek(0,0) --> 移动到文件头部
  2. seek(0,1) --> 当前位置
  3. seek(0,2) --> 移动到文件末尾
  4. seek(3) --> 按字节移动(按照不同编码集进行计算)
print(f.tell())#显示光标位置,返回的是字节数
f.seek(0)#移动光标
3.文件修改:
f =open('1.txt','r','utf-8')
#for i in f:
s = f.read()
s1 = s.replace('12','45')
f.close()
f1 =open('1.txt','w','utf-8')
f1.write(s1)
f1.close()
4.with open()#自动打开关闭文件
with open('1.txt','r','utf-8') as f,\
open('1.1.txt','w','utf-8') as f1:
for i in f:
s1 =i.replace('12','45')
f1.write(s1)
import os
os.rename('1.txt','1.bak')
os.rename('1.1.txt','1.txt')

3.相对路径:

  1. 绝对路径方式打开文件

    路径转义:

    1."\"

    2.r"C:\user\net"

f = open("E:\\python\\oldboy\\py\\190715",'r','utf-8')
#路径转义:1.'\\'
#2.r。-->repr():数据的原形态
#s = "[1,2,'3',4]"
#print(s)
#print(repr(s))#--显示数据原形态
f = open(r"E:\python\oldboy\py\190715",'r','utf-8')
print(f.read())
f.close()
  1. 相对路径
f = open("../190713/1.txt",'r','utf-8')
print(f.read())
f.close()
#推荐使用相对路径

python基础知识六 文件的基本操作+菜中菜的更多相关文章

  1. Python基础知识(六)------小数据池,集合,深浅拷贝

    Python基础知识(六)------小数据池,集合,深浅拷贝 一丶小数据池 什么是小数据池: ​ 小数据池就是python中一种提高效率的方式,固定数据类型使用同一个内存地址 代码块 : ​ 一个文 ...

  2. python基础学习Day8 文件的基本操作

    1.文件的基本操作初识 f = open('a.text', 'r', encoding='utf-8')data = f.read()print(data)f.close() 2.读  r  r+b ...

  3. Python基础知识(八)----文件操作

    文件操作 一丶文件操作初识 ###f=open('文件名','模式',编码): #open() # 调用操作系统打开文件 #mode #对文件的操作方式 #encoding # 文件的编码格式 存储编 ...

  4. python基础知识-day7(文件操作)

    1.文件IO操作: 1)操作文件使用的函数是open() 2)操作文件的模式: a.r:读取文件 b.w:往文件里边写内容(先删除文件里边已有的内容) c.a:是追加(在文件基础上写入新的内容) d. ...

  5. python基础知识---操作文件

    一.打开文件  open()函数 open函数返回一个文件对象. 用法:open('文件名','模式') 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内 ...

  6. Python基础知识:文件和异常

    1.相对路径:如果文件和程序在同一文件夹内,可不用路径:如果文件在程序所在文件夹下一级文件夹中,只需添加下一级文件夹名称即可: 在Linux和OS系统中:文件路径中使用斜杠(/) 在Windows系统 ...

  7. python基础知识六

    博客园的博文对每篇博文的长度似乎做了限制 面向对象编程, 在程序何种,根据操作数据的函数或语句块来设计程序.这被成为面向过程的编程.还有一种把数据和功能结合起来,用称为对象的东西包裹起来组织组织程序的 ...

  8. python基础知识四 小数据池,深浅拷贝,集合+菜中菜

    四.小数据池,深浅拷贝,集合+菜中菜 1小数据池 --缓存机制(驻留机制) ​ '==' 判断两边内容是否相等 ​ 'is' 基于内存地址进行判断是否相同 a = 10 b = 10 print(a ...

  9. python基础知识三 字典-dict + 菜中菜

    3.7字典:dict+菜中菜 1.简介 ​ 无序,可修改,用于存储数据,大量,比列表快,将数据和数据之间关联 ​ 定义:dict1 = {'cx':10,'liwenhu':80,'zhangyu': ...

随机推荐

  1. 零元学Expression Blend 4 - Chapter 16 用实例了解互动控制项「Button」II

    原文:零元学Expression Blend 4 - Chapter 16 用实例了解互动控制项「Button」II 本章将教大家如何制作自己的Button,并以玻璃质感Button为实作案例. ? ...

  2. 零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」

    原文:零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」 本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的是Blend 4 里的 ...

  3. Windows Phone SplashScreen初始屏幕示例

    protected override void OnLaunched(LaunchActivatedEventArgs args) { if (args.PreviousExecutionState ...

  4. 危险的DDD聚合根

    原文:危险的DDD聚合根 DDD的核心是聚合.这没有问题,大家都认同.但关于DDD中的聚合方式,其实我还是有些担心,下面说说我的想法,希望大家参与讨论.其实当初第一次看到DDD中关于聚合根部分论述的时 ...

  5. SharePoint Add-in Model 介绍 - 引文(先导篇)

    1. SharePoint 平台 如果你已经很熟悉 SharePoint 平台,可跳过本章节. 1.1 SharePoint 是什么 在介绍 Add-in Model 之前,简要提一下 SharePo ...

  6. Qt在Mac OS X下的编程环境搭建(配置Qt库和编译器,有图,很清楚)

    尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要 ...

  7. 验证码生成器(在TImage.Canvas上写字,很好看)

    生成验证码的方式有很多种,如下则是比较简单的实现,且运用了正余弦曲线来扭曲验证码字符. unit AuthenticodeGenerate; interface uses SysUtils, Wind ...

  8. jQuery框架 的四个入口函数

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  9. Spring Boot:整合Spring Data JPA

    综合概述 JPA是Java Persistence API的简称,是一套Sun官方提出的Java持久化规范.其设计目标主要是为了简化现有的持久化开发工作和整合ORM技术,它为Java开发人员提供了一种 ...

  10. 【UVA - 11624】Fire!

    -->Fire! 直接上中文 Descriptions: 乔在迷宫中工作.不幸的是,迷宫的一部分着火了,迷宫的主人没有制定火灾的逃跑计划.请帮助乔逃离迷宫.根据乔在迷宫中的位置以及迷宫的哪个方块 ...