1、只读文件

#以文本打开文件'r'
f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r',encoding='utf-8')
content = f.read()
print(content)
f.close()#中国是个伟大的国家。 #以二进制形式打开文件'rb'
f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='rb')
content = f.read()
print(content)
f.close()#b'\xe4\xb8\xad\xe5\x9b\xbd\xe6\x98\xaf\xe4\xb8\xaa\xe4\xbc\x9f\xe5\xa4\xa7\xe7\x9a\x84\xe5\x9b\xbd\xe5\xae\xb6\xe3\x80\x82' '''
'C:\\Users\\Administrator\\Desktop\\Python\\f.txt':路径(不能用'\'!可以用'\\'或'/')
mode:定义操作方式.
encoding:声明,此次打开文件使用什么编码本。一般来说:你的文件用什么编码保存的,就用什么方法打开,一般都是用utf-8(有些使用的是gbk).
f.read():操作文件,比如读文件,给文件写内容,等等,都必须通过文件句柄进行操作.
f.close():关闭文件.
'''

2、只写文件

#对于w:没有此文件就会创建文件。
f = open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode = 'w',encoding= 'utf-8')
f.write('寂*凉')
f.close()#寂*凉 #若有此文件,先将源文件全部清除,再写。
f = open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode = 'w',encoding= 'utf-8')
f.write('5月9号')
f.close()#5月9号
#wb:以二进制写入,需用encode()转换
f = open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode = 'wb')
f.write('5月9号'.encode('utf-8'))
f.close()
#'a':追加写
f = open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode = 'a',encoding= 'utf-8')
f.write('21度')
f.close()#5月9号21度
#'ab':以二进制追加写
f = open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode = 'ab')
f.write('适中'.encode('utf-8'))
f.close()#5月9号21度适中


3、读写

#'r+'读写
f = open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode = 'r+',encoding ='utf-8')
print(f.read())#5月9号21度适中
f.write('5月9日')
f.close() 注意:如果在读写模式下,先写后读,那么文件就会出问题,因为默认光标是在文件的最开始,要是先写,则写入的内容会讲原内容覆盖掉,直到覆盖到写完的内容,然后在后面开始读取。

4、光标控制:seek

  seek(n)光标移动到n位置,注意: 移动单位是byte,所有如果是utf-8的中文部分要是3的倍数
移动到开头:seek(0)
移动到结尾:seek(0,2) seek的第二个参数表示的是从哪个位置进行偏移,默认是0,表示开头,1表示当前位置,2表示结尾
f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8')
f.seek(0) # 光标移动到开头
content = f.read()# 读取内容, 此时光标移动到结尾
print(content)#中国是个伟大的国家。
f.seek(0) # 再次将光标移动到开头
f.seek(0,2) # 将光标移动到结尾
content1 = f.read()# 读取内容. 什么都没有
print(content1)#
f.seek(0)
f.write('确实')
content2 = f.read()# 写入信息. 此时光标在6 中文2 * 3个 = 6
print(content2)#是个伟大的国家。
f.close()

5、功能详解

#(确实是个伟大的国家。)
#read(n):读出的字符数

f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8')
content = f.read(3)
print(content)#确实是
f.close() #seek(n):按照字节定光标的位置
f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8')#(确实是个伟大的国家。)
f.seek(3)
content = f.read()
print(content)#实是个伟大的国家。
f.close() #tell():获取当前光标的位置
# f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8')
f.seek(3)
print(f.tell())#
f.close() f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='a+',encoding='utf-8')
f.write('真的')
count = f.tell()
f.seek(count-6)
print(f.read())#真的
f.close() #readline:一行一行读
f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8')
print(f.readline())
f.close() #readlines:每一行当成列表中的一个元素,添加到list中
f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8')
count = f.readlines()
for i in count:
print(i.strip())
f.close()

6、打开文件另一种方式with open

优点:(1):用with上下文管理这种方式,它会自动关闭文件句柄。

(2):一个with 语句可以操作多个文件,产生多个文件句柄。

with open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r+',encoding='utf-8') as f,\
open('C:\\Users\\Administrator\\Desktop\\Python\\t.txt',mode='r+',encoding='utf-8') as f1:
print(f.read())
print(f1.read())

python 基础知识6-文件操作的更多相关文章

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

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

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

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

  3. python基础知识六 文件的基本操作+菜中菜

    基础知识六 文件操作 ​ open():打开 ​ file:文件的位置(路径) ​ mode:操作文件模式 ​ encoding:文件编码方式 ​ f :文件句柄 f = open("1.t ...

  4. 第三章:Python基础の函数和文件操作实战

    本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...

  5. python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...

  6. Python基础7:文件操作

    [ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...

  7. python学习笔记-(七)python基础--集合、文件操作&函数

    本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...

  8. Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数

    1.        集合 1.1      特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...

  9. Python基础-week03 集合 , 文件操作 和 函数详解

    一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...

  10. python基础学习笔记——文件操作

    文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...

随机推荐

  1. vue2.x学习笔记(九)

    接着前面的内容:https://www.cnblogs.com/yanggb/p/12577948.html. 数组的更新检测 数组在javascript是一种特殊的对象,不是像普通的对象那样通过Ob ...

  2. Java 多线程实现方式三:实现 Callable 接口

    完整套路 java 通过实现Callable 接口来实现多线程相比较于继承Thread 接口和 实现Runnable 接口比较麻烦,但好处是可以有返回值. 基本套路: 1. 创建目标对象 2. 创建执 ...

  3. [Asp.Net Core] Blazor Server Side 扩展用途 - 配合CEF来制作客户端浏览器软件

    前言 大家用过微信PC端吧? 这是用浏览器做的. 用过Visual Studio Code吧? 也是用浏览器做的. 听说, 暴雪客户端也包含浏览器核心?? 在客户端启动一个浏览器, 并不是什么难事了. ...

  4. (第七篇)系统编码、自启动配置、HOSTNAME、系统启动、定时任务、进程管理、硬盘及其分区

    linux查看系统编码和修改系统编码的方法 查看支持的字符编码 使用locale命令, 如: root@ubuntu:/etc# locale 然后修改/etc/locale.conf,如改成中文编码 ...

  5. cocos2d 导演,场景

    导演(Director) Cocos2d-x 使用导演的概念,这个导演和电影制作过程中的导演一样!导演控制电影制作流程,指导团队完成各项任务.在使用 Cocos2d-x 开发游戏的过程中,你可以认为自 ...

  6. Codeforces Round #628 (Div. 2) 题解

    人闲桂花落,夜静春山空. 月出惊山鸟,时鸣春涧中.--王维 A. EhAb AnD gCd You are given a positive integer x. Find any such 2 po ...

  7. Scala教程之:Option-Some-None

    文章目录 Option和Some Option和None Option和模式匹配 在java 8中,为了避免NullPointerException,引入了Option,在Scala中也有同样的用法. ...

  8. 第十二章Linux文件系统与日志

    1.inode 包含文件的元信息(1)inode 内容:文件的字节数.拥有者的 UID.GID.文件的读写执行权限.时间戳等,但不包含文件名.文件名是储存在目录的目录项中.(2)查看文件的 inode ...

  9. HDU 5451 Best Solver

    没有意识到循环节最大是M^2,用域Z_M下二阶可逆矩阵群的最大循环节(M^2-1)*(M^2-M)来做,考虑大数乘法,矩阵乘法,做到吐血.将代码贴在下方留作纪念. #include<bits/s ...

  10. vue2.x学习笔记(二十八)

    接着前面的内容:https://www.cnblogs.com/yanggb/p/12682573.html. 生产环境部署 以下大多数内容在你使用vue cli的时候都是默认开启的,仅跟你自定义的构 ...